Excel (VBA)

Excel VBAに関するフォーラムです。
  • 解決済みのトピックにはコメントできません。
このトピックは解決済みです。
質問

 
(Windows 10 Pro : Excel 2013)
PDFプロパティを操作した時、ダブルコーテーションを排除したい
投稿日時: 21/10/12 20:08:51
投稿者: QooApp

本件は下記私の質問にて質問した後、実は治っていなかったということが判明し、再度質問させていただきます。申し訳ございません。
 
▼VBでAcrobatを操作しPDFのプロパティを制御するとき
https://www.moug.net/faq/viewtopic.php?t=80962
 
改行コードを含むテキストをPDFプロパティのキーワード部分に設定するとダブルコーテーションが出現してしまうことについての質問です。
 
 

Sub フォルダ内PDFのタイトル作成者などを書き換える()

'カレントドライブ・フォルダを変更
ChDrive ActiveWorkbook.Path
ChDir ActiveWorkbook.Path

myPath = ActiveWorkbook.Path & "\"
myFname = Dir(myPath & "*.pdf")

    Do While myFname <> ""
        
        Set qq = CreateObject("AcroExch.PDDoc")
            b = qq.Open(myPath & myFname)
            b = qq.SetInfo("Title", Range("B1"))
            b = qq.SetInfo("Author", Range("B2"))
            b = qq.SetInfo("Subject", Range("B3"))
            b = qq.SetInfo("Keywords", Range("B4"))
            
            '... 33 = PDSaveFull (1) OR PDSaveCollectGarbage (32)
            b = qq.Save(33, myPath & myFname)
            b = qq.Close
                    
        myFname = Dir()
    Loop

MsgBox "終了しました"

End Sub

 
>> b = qq.SetInfo("Keywords", Range("B4")) <<
 
キーワードの部分で挿入したテキストが改行コードを含んでいる場合、文字列の開始と終了文字の前後にダブルコーテーションが付与されてしまいます。
 
どうにも解決方法が見つからないです。
 
▼qq.SetInfo("Keywords", xxxxxx) xxxxxxに設定して試したがダブルコーテーションが現れた例
"改行前テキスト" & VbCr & "改行後テキスト"
"改行前テキスト" & VbLf & "改行後テキスト"
"改行前テキスト" & VbCrLf & "改行後テキスト"
Range(セル座標).Value
 
▼文字化けした例 (化けたうえに一部テキストが出現していない。あとダブルコーテーションが出る)
StrConv("text",※UTFに変換※)
StrConv("text",※S-JISに変換※)
 
▼現状、ダブルコーテーションが現れなかった作業方法
・PDFプロパティに一度書き込む
・手動でプロパティのキーワードからダブルコーテーションを削除する
・再度マクロから全く同じテキストを書き込む

 
■Acrobat Pro 9・DC 使用
必要な情報があったらご指摘ください。

投稿日時: 21/10/12 20:19:28
投稿者: QooApp

b = qq.SetInfo("Title", Range("B1"))
b = qq.SetInfo("Author", Range("B2"))
b = qq.SetInfo("Subject", Range("B3"))
b = qq.SetInfo("Keywords", Range("B4"))
  
から察するに、Dictionaryオブジェクトっぽいから区切りを制御するために改行コードを含むとき、ダブルコーテーションが必須になっているのが原因でしょうか。
  
ということはVB側から制御することは実質不可能・・・・?

回答
投稿日時: 21/10/12 22:48:05
投稿者: simple

手元にAcrobatが無いので詳細不明ですが、
http://pdf-file.nnn2.com/?p=102
のヘルプ(終わりのほうの実行結果の画像)を見る限り、
ダブルクォーテーションが表示されていますから、
その製品の仕様ではないですか?
 
実害があるとも思えませんし、割り切りが必要だと思います。

投稿日時: 21/10/13 10:53:35
投稿者: QooApp

Simple様 ありがとうございます。
 
そうですね、やはり厳しいような感じです。
リンク先ページの下部コメは見落としてました。
 
既存の生産方法を自動化できないか、という問題解決目的だったので
規定ルールにどうしても縛られる内容となります。
 
手動で文字を削除するしか現状無さそうだなという判断で同意します。
お忙しいところご協力ありがとうございました。