私が作成したエクセルベースのスケジューラの一環として、私はマクロを実行するには、次のように「Application.Ontime」関数を使用しています、指定の時間にパスワード保護されたブックにApplication.Runを使用する方法?
Sub Load
//snipped for brevity
Dim startName As String
startName = "'StartSub""" & filePath & """, """ & fileName & """, """ & macroName & """'"
Application.OnTime y, startName
End Sub
Sub StartSub(filePath As String, fileName As String, macroName As String)
Dim wb As String
wb = "'" & filePath & "'!" & macroName
Application.Run wb
Application.Workbooks(fileName).Close Savechanges:=True
End Sub
テストと簡単なPOCは実際に働いているようですよく私が直面している問題は、スプレッドシートの1つがパスワードで保護されていることです。問題は、パスワードの入力ダイアログが、マクロが予想通りに実行されないことです。出力と結果が複数のレポートにエクスポートされるため、パスワードで保護されたワークブックへの書き込みアクセスは必要ありません。
私の質問はこれを克服し、Application.Runを使用してパスワードで保護されたブックからマクロを実行する方法です。
私が探していた解決策ではありませんが、リンクはワークシートをどのように保護し、保護しないかを説明しています。私の要求は保護されたワークブックに関連しています。つまり、ユーザーはファイルを開くときにパスワードを提供する必要があります。それにもかかわらず、無関係な問題を解決するのに役立つ良いリンク。 – Ahmad