|
分類:[VB6 以前]
お世話になります。
VB6よりWordオブジェクトを操作しbookmarkに値を設定します。
その後、印刷の際は、WordオブジェクトをQuitするのですが、この処理に時間が掛かっています。
以下のコードはLoop処理の中のひとつとなりますが、問題がある箇所をご指摘いただけないでしょうか。
参照設定にはMicrosoft Word 11.0 Object Libraryを追加しています。
'◆WordテンプレートをCopy
Dim cFso As FileSystemObject
Set cFso = New FileSystemObject
'◆ファイルをコピーする
Call cFso.CopyFile(strIniPathFileName, strOutputFilePath, True)
Set cFso = Nothing
'◆Wordオブジェクト内操作
Dim obj As Word.Application
'◆Wordアプリケーションをセットする
Set obj = CreateObject("Word.Application")
'◆Word文書を開く
Call obj.Documents.Open(strOutputFilePath)
'◆Word内BookMarkに対し値を設定する
Call mSubBookMarkReplaceRange(obj, pStrSZSHDOCNO)
Select Case pintMode
'◆プレビュー
Case 0
'◆プレビュー
Call obj.ActiveDocument.PrintPreview
'◆Wordプロテクト(文書保護)
Call obj.ActiveDocument.Protect(wdAllowOnlyFormFields, True, "TEST", False, False)
'◆WordSAVE
Call obj.ActiveDocument.Save
obj.Visible = True
GoTo Prev_Function
'◆印刷
Case 1
obj.Options.PrintBackground = True
'◆直接印刷の場合
Call obj.ActiveDocument.PrintOut
Call obj.ActiveDocument.Close
Call obj.Quit
GoTo Print_Function
End Select
|