保護されたビューで開く一連のExcelファイルがあります。これらのExcelファイルを開き、保護されたビューを削除し、タブ区切りのテキストファイルとして保存したいと思います。これまでのところ、私はすべてを行うことができましたが、スクリプトを実行すると、Excelファイルを保存するかどうかを尋ねるプロンプトが表示されます。私はスクリプトを完全に自動化するために、このプロンプトを取り除きたい。ここでは、現在のコードは次のとおりです。vbsスクリプトで保護されたビュー
format = -4158
Set objFSO = CreateObject("Scripting.FileSystemObject")
src_file = objFSO.GetAbsolutePathName(Wscript.Arguments.Item(0))
dest_file = objFSO.GetAbsolutePathName(WScript.Arguments.Item(1))
Dim oExcel
Set oExcel = CreateObject("Excel.Application")
oExcel.ProtectedViewWindows.Open(src_file)
oExcel.ActiveProtectedViewWindow.Edit
oExcel.Quit
Dim oBook
Set oBook = oExcel.Workbooks.Open(src_file)
oBook.Worksheets(5).Activate
oBook.SaveAs dest_file, format
oBook.Close False
oExcel.Quit
私はプロンプトオンラインを除去する解決策を発見したが、私は保護されたビューウィンドウを編集する必要があるため、私は解決策を使用する方法を見つけることができませんでした。このVBスクリプトで保護されたビューが削除され、Excelファイルがタブ区切りのテキストファイルとして保存されるようにするにはどうすればよいですか?これは、ウィンドウやプロンプトを表示せずに行う必要があります。つまり、自動的に行う必要があります。
?あなたは完全な自動化を求めているので、偽のステートメントでスクリプトを開始し、真のステートメントを最後の終了ステートメントの直前に置くことができます。 – Jason
私はoExcelを初期化した後にこれを配置しました。しかし、今では奇妙なことが多発しています。私は、2013年のExcelの両方で、2つの異なるコンピュータでこれを試しています。あるコンピュータでプロンプトが表示されず、「サーバーが例外をスローしました」というエラーが表示され、続いてExcelがクラッシュします。別のコンピュータでは、プロンプトが表示され、何も変わりません。しかし、数回、プロンプトは表示されませんでしたが、何も起こりません!それから私は "呼び出し先によって拒否された呼び出し"と言うエラーを受け取ります。 – Dillydill123
には、oExcelオブジェクトをoExcel.Quitを初めて呼び出す前に保存する方法がありますか? – Dillydill123