0

最初の部分は現在機能しています [ 私はちょうどハングしているように見える次のものを持っています; モジュールを追加/削除する部分は、VBA での実行時に機能します。「このワークブックには、他のデータ ソースへのリンクが含まれています」というダイアログが表示されますが、ハングします。 0 と 2 も試しましたが、それでもハングします (2 番目の引数はここにあるように UpdateLinksです) ]

dim objExcel
dim objWorkbook
Set objExcel = CreateObject("Excel.Application")
Set objWorkbook = objExcel.Workbooks.Open(  "H:\M\X\C.xls", 0 , , ,"PASSWORD!" )

Const modpath  = "H:\M\V\"
Const modtest  = "TEST.cls"
Const modname  = "TEST"

On Error Resume Next

Dim vbcomp
Set vbcomp = ActiveWorkbook.VBProject.VBComponents(modname)
objWorkbook.VBProject.VBComponents.Remove vbcomp
objWorkbook.VBProject.VBComponents.Import modpath & modtest

objWorkbook.Save
objWorkbool.Close
set vbcomp = nothing
set objworkbook = nothing
set objExcel = nothing

再度編集 2009 年 14 月 4 日 「ツール - マクロ - セキュリティ - vbproject アクセス」も許可しました

スクリプトは終了しましたが、変更が加えられたかどうかを確認するために xls を開こうとすると、「スクリプトの実行に使用されたアカウント」によってシートがロックされていることを知らせるメッセージが表示されます。「読み取り専用」を開く/通知する

コントロールが正しく解放されないのはなぜですか**?**

4

3 に答える 3

0

編集したスクリプトは機能します。

この問題は、VBAプロジェクトレベルではなく、ブックレベルでパスワードを提供していたことが原因でした。

Webですばやく検索すると、とにかくこれを行うことはできないことがわかります(送信キーなど)。したがって、プロジェクトのパスワードを手動で削除した後、問題は解決されます。

于 2009-04-15T11:16:30.883 に答える
0

これが3番目の考えです。モジュールを含める前に、アプリケーションのDisplayAlertsプロパティをFALSEに設定してみましたか?

于 2009-04-09T15:55:14.133 に答える