ExcelファイルからWord文書を作成するこのVBスクリプトがExcelにあります。Word:Close Select Documents
ただし、同じスクリプトを再実行するたびに、Wordファイルが編集用に開いてロックされていることを確認するメッセージが表示されます。私は手動でタスクマネージャーに行き、開いているすべてのWordプロセスを終了します。特定のWordファイルがOpenであるかどうかを確認するスクリプトはありますか?そうであれば、プロセスを強制終了しますか?
ExcelファイルからWord文書を作成するこのVBスクリプトがExcelにあります。Word:Close Select Documents
ただし、同じスクリプトを再実行するたびに、Wordファイルが編集用に開いてロックされていることを確認するメッセージが表示されます。私は手動でタスクマネージャーに行き、開いているすべてのWordプロセスを終了します。特定のWordファイルがOpenであるかどうかを確認するスクリプトはありますか?そうであれば、プロセスを強制終了しますか?
ワード文書を作成する前に、次のコードを配置することによって、プロセスのWINWORD.EXEを閉じることができますすることができます
CreateObject("WScript.Shell").Run "taskkill /f /im WINWORD.EXE", 0
これを実行したら、ワードファイルの作成に進むことができます。実行中のプロセスが複数ある場合でも、それらはすべて終了します。
ここで/ fはプロセスの強制削除を示し、/ imはプロセス名(この場合はWINWORD.EXE)を渡していることを示します。
taskkillコマンドについての詳細を知るためには、あなたがこのサイトを参照することができますが:https://technet.microsoft.com/en-in/library/bb491009.aspx
EDIT 2: そこに複数のドキュメントが開いていて、あなたが1つだけそれらのを閉鎖したい場合は、以下のコードを書くことができます
ケース1:あなたは、ワードファイルの正確なパスが
strPath = "store the word file path in this variable"
set objDoc = getobject(strPath)
objDoc.close
set objDoc = Nothing
ケースを閉じたことを知って、その特定の文書を閉じます2:あなたが唯一の名前を知っているときではなく、パス
set objWord = getobject(,"word.application")
set objDocs = objWord.Documents
for each doc in objDocs
If strComp(doc.name,"Document1",1)=0 then
doc.close
Exit For
End If
next
set objDocs = Nothing
set objWord = Nothing
おかげGman(の名前は、文書1あるとしましょう)! 1つのWord文書(例:Document.docx)だけを削除したい場合はどうすればよいですか?上記のコードは、開いているすべてのWord文書を閉じます。 –
@AngeliqueCastanedaそれについては編集2をご覧ください。 – Gurman
@AngeliqueCastanedaこのソリューションは機能しましたか? – Gurman