適切なブックマークを使用してMSWord文書を作成するのに役立つVBAコードを動的に挿入するアプリケーションがあります。VBAコードは、ドキュメント自体と一緒に保存する必要はありません。
ドキュメントを保存するときに、アプリケーションのエンドユーザーを混乱させる次の警告(残念ながら、まだ画像を投稿できません)がポップアップ表示されます。DocumentBeforeSaveイベント内でこれを無効にする方法はありますか?
****
以下はマクロのないドキュメントに保存できません。VBAプロジェクトこれらの機能を備えたファイルを保存するには、[いいえ]をクリックして[名前を付けて保存]ダイアログに戻り、[ファイルの種類]ドロップダウンでマクロが有効なファイルの種類を選択します。マクロフリーのドキュメントとして保存を続けますか?ボタン:[はい][いいえ][ヘルプ]
****
この警告が表示されないようにするには、ドキュメントのSaveFormatを古い形式に変更することをお勧めします。ただし、この変更が今後のドキュメントの動作に影響するかどうか、およびDocumentBeforeSaveイベント内でこのプロパティを変更できるかどうか(プロパティはREADONLYプロパティです)はわかりません。
このトピックに関するヘルプを事前に感謝します。
次のコードは単語を開きます(c:\ work \ test.docxが存在すると仮定します。これは、単なる空白の単語docである可能性があります)。単語docの[保存]ボタンを押すと、警告メッセージが表示されます。ところで、私はOffice2010を使用しています。
<TestMethod()>
Public Sub testWord()
Dim wApp As New Word.Application()
Dim myDoc As Word.Document
Dim DataCodeModule As Object = Nothing
myDoc = wApp.Documents.Open("C:\Work\test.docx")
DataCodeModule = myDoc.VBProject.VBComponents(0).CodeModule
With DataCodeModule
.InsertLines(1, "Option Explicit")
.InsertLines(2, "Sub TestCode()")
.InsertLines(3, "Selection.InsertAfter ""test""")
.InsertLines(4, "End Sub")
End With
wApp.Visible = True
myDoc.Activate()
End Sub
そして、DocumentBeforeSaveが接続されると、次のコードで警告が無効になることを期待していました。たぶん、ドキュメントを開いたらすぐにDisplayAlertsを設定する必要がありますか?
Public Sub App_DocumentBeforeSave(ByVal doc As Object, ByRef saveAsUI As Boolean, ByRef cancel As Boolean) Handles _officeHelper.DocumentBeforeSave
Dim WordApp As Object = this.WordApp()
'WordApp.DisplayAlerts = False
WordApp.DisplayAlerts = 0
End Sub