0

次のコードに問題があります。

Dim excelapp as object
set excelapp = CreateObject("excel.application")
dim ws as object
dim wb as Workbook

wb= excelapp.Workbooks.Open(path)
ws= wb.Sheets(1)
'in the code i send the worksheet object around by reference in order to read the
'worksheet and manipulate data, i dont create other instances of excel apps or
'workbooks

それから私は試します:

wb.Close

そして私も試しました:

excelapp.Quit

どちらも機能せず、両方ともフリーズし、OLE アクションを待機していると言います。これらを呼び出さないと、複数の Excel プロセスが開いています。コードを介して開いた Excel ファイルを開こうとすると、次のようにしか開くことができません。彼らは私にチェックアウトしているため、読み取り専用です。

また、すべてのアプリケーション「Excel.Exe」を閉じるシェルスクリプトを実行しようとしましたが、vbaが実行されている実際のExcelファイルが閉じてしまうため、良い解決策ではありません。前もって感謝します。

4

1 に答える 1

1

ブックが変更されたことを Excel アプリが検出し、ダイアログ ボックスを表示している可能性があります (アプリが表示されていないため、表示されていません)。試す:

wb.Close False

これにより、ブックへの変更を無視するように Excel に指示されます。

于 2013-05-15T16:07:06.827 に答える