Publisher VBA Publisherの設定を書きだす

#Publshierの設定を書きだす
Excelなどよりは少ないし、設定が影響することもあまりないのですが、セキュリティセンター以外の設定を書きだします。
書きだす場所は　Const sDrive = "C:\hoge\" で決まっていますので書き換えてください。
　ファイル名は　Const sFile = "MSPublisherSettingUTF8.txt"
です。
　このマクロは新規Publisherファイルではうまく動作しません。一度保存したPub形式ファイルに有効です。
Note : 既存のファイルがあれば書き換えられます。


```vb:PublisherSettingExport
Sub PublisherSettingExport()
'For Publisher 2013 Later
Const sDrive = "C:\hoge\"
Const sFile = "MSPublisherSettingUTF8.txt"
Const adCRLF = -1
Const adTypeText = 2
Const adModeReadWrite = 3
Const adWriteLine = 1
'Dim fs As Scripting.FileSystemObject: Set fs = New Scripting.FileSystemObject 'Reffernce Setting
'Dim sr As ADODB.Stream : Set sr = New ADODB.Stream 'Reffernce Setting
Dim sr : Set sr = CreateObject("ADODB.Stream")
Dim fs : Set fs = CreateObject("Scripting.FileSystemObject")
Dim i As Long, irow As Long, icol As Long, LastRow As Long, LastCol As Long, i2 As Long
Dim v As Variant
sr.Mode = adModeReadWrite
sr.Charset = "UTF-8"
sr.LineSeparator = adCRLF
sr.Type = adTypeText
sr.Open
sr.WriteText "AddHebDoubleQuote = " & Publisher.Options.AddHebDoubleQuote, adWriteLine 'Trueをヘブライ語のアルファベット番号を二重引用符を表示します。既定ではfalse を指定します。読み取り/書き込み可能。Boolean/ブール値です。。
sr.WriteText "AllowBackgroundSave = " & Publisher.Options.AllowBackgroundSave, adWriteLine '(既定値)true。 同時に他のアクションを実行できるように、バック グラウンドで文書を保存します。読み取り/書き込み可能。Boolean/ブール値です。。
'sr.WriteText "Application = " & Publisher.Options.Application, adWriteLine 'Boolean。自動的にテキストが選択されていない場合でも、カーソル位置にある単語全体の書式を設定します。読み取り/書き込み
sr.WriteText "AutoFormatWord = " & Publisher.Options.AutoFormatWord, adWriteLine 'Trueを自動的にテキストが選択されていない場合でも、カーソル位置にある単語全体の書式を設定します。読み取り/書き込み可能。Boolean/ブール値です。。
sr.WriteText "AutoHyphenate = " & Publisher.Options.AutoHyphenate, adWriteLine 'true。(既定値) を自動的にテキスト フレーム内のテキストにハイフネーションを設定します。読み取り/書き込み可能。Boolean/ブール値です。。
sr.WriteText "AutoKeyboardSwitching = " & Publisher.Options.AutoKeyboardSwitching, adWriteLine 'Trueをカーソル位置にテキストを使用する言語にキーボードの言語を自動的に切り替える。読み取り/書き込み可能。Boolean/ブール値です。。
sr.WriteText "AutoSelectWord = " & Publisher.Options.AutoSelectWord, adWriteLine 'True のテキストを選択するときに単語全体を自動的に選択します。読み取り/書き込み可能。Boolean/ブール値です。。
sr.WriteText "DefaultPubDirection = " & Publisher.Options.DefaultPubDirection, adWriteLine 'フローと、新しい文書を作成するテキストの既定の方向を表すPbDirectionType定数を設定または返します。読み取り/書き込み。
sr.WriteText "DefaultTextFlowDirection = " & Publisher.Options.DefaultTextFlowDirection, adWriteLine '左右からまたは右から左、文書内にテキストを流し込むかどうかを示す、Microsoft Publisher グローバル オプションを表すPbDirectionType定数を設定または返します。読み取り/書き込み。
sr.WriteText "DisplayStatusBar = " & Publisher.Options.DisplayStatusBar, adWriteLine 'Trueを Publisher ウィンドウの下部にあるステータス バーを表示します。読み取り/書き込み可能。Boolean/ブール値です。。
sr.WriteText "DragAndDropText = " & Publisher.Options.DragAndDropText, adWriteLine 'Trueテキストのドラッグを有効にします。読み取り/書き込み可能。Boolean/ブール値です。。
sr.WriteText "HyphenationZone = " & Publisher.Options.HyphenationZone, adWriteLine 'バリアントを Microsoft Publisher の離れた行の最後の単語の末尾と右余白との間の領域の最大容量を表す設定または返します。読み取り/書き込み。
sr.WriteText "MeasurementUnit = " & Publisher.Options.MeasurementUnit, adWriteLine 'Microsoft Publisher の標準的な測定単位を表すPbUnitType定数を設定または返します。読み取り/書き込み。
sr.WriteText "PathForPictures = " & Publisher.Options.PathForPictures, adWriteLine '画像ファイルの既定のパスを表す文字列を返します。読み取り専用
sr.WriteText "PathForPublications = " & Publisher.Options.PathForPublications, adWriteLine '文書の既定のフォルダーを表す文字列を返します。読み取り専用。([オプション] ダイアログ ボックスの [ツール] メニューの [全般] タブの既定のパス設定に対応します)。
sr.WriteText "SaveAutoRecoverInfo = " & Publisher.Options.SaveAutoRecoverInfo, adWriteLine ' true。 Microsoft Publisher は、アプリケーションが突然停止した場合に自動的に復元用の文書を保存する場合。読み取り/書き込み可能。Boolean/ブール値です。。
sr.WriteText "SaveAutoRecoverInfoInterval = " & Publisher.Options.SaveAutoRecoverInfoInterval, adWriteLine 'アプリケーションが突然停止した場合に自動的に復元用の文書を保存するための分単位で時間間隔を表します。読み取り/書き込み。
sr.WriteText "SequenceCheck = " & Publisher.Options.SequenceCheck, adWriteLine 'True系アジア言語のテキストの文字のシーケンスをチェックします。読み取り/書き込み可能。Boolean/ブール値です。。
sr.WriteText "ShowBasicColors = " & Publisher.Options.ShowBasicColors, adWriteLine 'Microsoft Publisher がカラー パレットに基本色を表示するかどうか。Trueでパレットに基本色を表示します。読み取り/書き込み。
sr.WriteText "ShowScreenTipsOnObjects = " & Publisher.Options.ShowScreenTipsOnObjects, adWriteLine 'True のテキスト ボックス、図形、またはその他のオブジェクト上にマウス ポインターを置くときにポップ ヒントを表示します。読み取り/書き込み可能。Boolean/ブール値です。。
sr.WriteText "ShowTipPages = " & Publisher.Options.ShowTipPages, adWriteLine 'Trueバルーン ヒントを表示します。読み取り/書き込み可能。Boolean/ブール値です。。
sr.WriteText "TypeNReplace = " & Publisher.Options.TypeNReplace, adWriteLine 'Trueを無効なキーボード シーケンスによる読み取れないアジア系文字のクラスターを置き換えます。読み取り/書き込み可能。Boolean/ブール値です。。
sr.WriteText "UseCatalogAtStartup = " & Publisher.Options.UseCatalogAtStartup, adWriteLine 'Trueを起動するときにカタログを表示します。読み取り/書き込み可能。Boolean/ブール値です。。
sr.WriteText "UseWizardForBlankPublication = " & Publisher.Options.UseWizardForBlankPublication, adWriteLine '取得または白紙のページに、ウィザードを使用するかどうかを設定します。読み取り/書き込み。
sr.WriteText "Publisher.Application.Language = " & Publisher.Application.Language, adWriteLine
sr.WriteText " Publisher.Application.AutomationSecurity = " & Publisher.Application.AutomationSecurity 'ファイルを開くときに Publisher で使用するセキュリティモードを指定します。読み取り/書き込み。"
sr.WriteText "Application.InstalledPrinters = " & Application.InstalledPrinters.Count, adWriteLine 'コンピューターにインストールされているすべてのプリンターのInstalledPrintersコレクションを返します。読み取り専用です。
If Application.InstalledPrinters.Count > 0 Then 'プリンターコレクションが0でないなら
For i = 1 To Application.InstalledPrinters.Count
With Application.InstalledPrinters.Item(i)
sr.WriteText "Application.InstalledPrinters.Item(" & i & ") " & "," & .DriverType & "," & .Index & "," & .IsActivePrinter & "," & .IsColor & "," & .IsDuplex & "," & .PaperHeight & "," & .PaperWidth & "," & .PaperSize & "," & .PaperOrientation & "," & .PaperSource & "," & .PrintableRect.Left & _
"," & .PrintableRect.Top & "," & .PrintableRect.Height & "," & .PrintableRect.Width & "," & .PrinterName & "," & .PrintMode, adWriteLine
End With
Next i
End If
sr.WriteText "Application.Path = " & Application.Path, adWriteLine '最後の区切り文字またはファイル名を含まない作業中の文書を保存したフォルダーの完全パスを示す文字列を返します。
sr.WriteText "Application.PathSeparator = " & Application.PathSeparator, adWriteLine 'フォルダー名の区切りに使用する文字を表す文字列を返します。読み取り専用です。
sr.WriteText "Application.ProductCode = " & Application.ProductCode, adWriteLine 'Microsoft Publisher のグローバル一意識別子 (GUID) を示す文字列を返します。読み取り専用です。
sr.WriteText "Application.TemplateFolderPath = " & Application.TemplateFolderPath, adWriteLine 'Microsoft Publisher のテンプレートが保存される場所を表す文字列を返します。読み取り専用です。
sr.WriteText "Application.ValidateAddressVisible = " & Application.ValidateAddressVisible, adWriteLine '住所の確認は、[Microsoft Publisher のユーザー インターフェイス (UI) で [差し込み印刷の宛先] ダイアログ ボックスで宛先を絞り込むのに使用できるかどうかを決定します。住所の確認は Publisher のユーザー インターフェイスでは、[ Publisher タスク] 作業ウィンドウでの宛先の準備] の下に使用できるかどうか。読み取り/書き込み。
sr.WriteText "Application.Version = " & Application.Version, adWriteLine '現在インストールされている Publisher のバージョン番号を示す文字列を返します。読み取り専用です。
sr.WriteText "Application.Build = " & Application.Build, adWriteLine 'Microsoft Publisher のビルド番号です。Long読み取り専用
sr.WriteText "Application.WizardCatalogVisible = " & Application.WizardCatalogVisible, adWriteLine 'ウィザード カタログを表示するかどうかを示します。読み取り/書き込み。
sr.WriteText "Application.WebOptions.AlwaysSaveInDefaultEncoding = " & Application.WebOptions.AlwaysSaveInDefaultEncoding, adWriteLine 'Web ページを Web 用の文書内で常に保存するか既定のエンコーディングを使用して指定するブール値を設定します。場合はTrueパブリケーション内の Web ページが常に保存するクライアント コンピューターの既定のエンコーディングを使用します。場合はFalse、Web ページは保存されません既定のエンコーディングを使用しています。既定値は、 false を指定します。読み取り/書き込み。
sr.WriteText "Application.WebOptions.EnableIncrementalUpload = " & Application.WebOptions.EnableIncrementalUpload, adWriteLine '文書全体の独立した Web サーバーに Web 用の文書に加えられた変更をアップロードできるかどうかを指定するブール値を設定します。場合はTrueパブリケーションに加えられた変更だけは発行時に Web サーバーにアップロードされます。False、文書全体になりますが Web サーバにアップロードします。既定値はtrue 。読み取り/書き込み。
sr.WriteText "Application.WebOptions.Encoding = " & Application.WebOptions.Encoding, adWriteLine 'Web 用の文書のエンコーディングを指定する定数を返します。読み取り/書き込み。定数はMsoEncoding 列挙
sr.WriteText "Application.WebOptions.ShowOnlyWebFonts = " & Application.WebOptions.ShowOnlyWebFonts, adWriteLine '英文フォントのみ有効なオプション。Web 用のフォントとフォント パターンのみ使用するか、ブラウザーで Web サイトを表示するときを指定するブール値を設定します。場合はTrueWeb 用のフォントとフォント パターンのみが使用されます。場合はFalse表示は Web 用のフォントとフォント パターンに制限ではありません。既定値はfalse。読み取り/書き込み。
sr.WriteText "Application.WebOptions.RelyOnVML = " & Application.WebOptions.RelyOnVML, adWriteLine 'Web 用の文書を保存するときに描画オブジェクトから画像ファイルを生成するかどうかを指定するブール値を設定します。 Tru：イメージ ファイルは生成されません。Falseイメージが生成されます。既定値は、 false。読み取り/書き込み。
sr.WriteText "Application.WebOptions.OrganizeInFolder = " & Application.WebOptions.OrganizeInFolder, adWriteLine 'Web 用の文書をフラットな構造または階層構造で保存するかどうかを指定するブール値を設定します。場合はFalseWeb 用の文書内のすべてのファイルはルート フォルダー内のフラットな構造で保存されます。かどうかは Trueファイルに保存されます、ルート フォルダー内に階層構造です。既定値は、 true を指定します。読み取り/書き込み。
sr.WriteText "Application.WebOptions.EmailAsImg = " & Application.WebOptions.EmailAsImg, adWriteLine 'True文書ページ全体を 1 つの JPEG 画像として送信します。読み取り/書き込み可能。Boolean/ブール値です。。
sr.WriteText "Application.SnapToGuides = " & Application.SnapToGuides, adWriteLine 'Trueをガイドを使用して文書内のページにオブジェクトを配置します。読み取り/書き込み可能。Boolean/ブール値です。。
'sr.WriteText "Application.Assistance = " & Application.Assistance.SearchHelp '開発者が Microsoft Office 内でユーザーに対してカスタマイズされたヘルプ エクスペリエンスを作成するための手段を提供する、Microsoft Office (MSO) のIAssistanceオブジェクトへの参照を取得します。読み取り専用です。
sr.SaveToFile sDrive & "MSPublisherSettingUTF8.txt", adSaveCreateOverWrite
sr.Close
End Sub
```