私はこのコードをspreadsheetguruから見つけました。コードの目的は、Excel 16.0ライブラリを有効にすることです。私はそれが自動的にライブラリを追加し、それを必要とするコードの残りの部分を実行するように、私のコードの前にこれを追加できるようにしたい。今、私は2つのサブシステムでそれを持っています。私がここに持っているプライベート・サブです。そして、次は私のマクロの残りの部分と一緒にパブリック・サブです。今すぐマクロを実行すると、ここでpsotというコードが実行されて停止します。その後、もう一度クリックすると、次のサブが実行されます。これをすべてワンクリックで行えるようにする方法はありますか?たぶん、それをすべて1つのサブ、または私が気付いていない他のプライベート/パブリックサブコンビネーションにすることによって?このコードをワンクリックで完全に実行するにはどうすればいいですか?
ありがとうございます!記事spreadsheetguruで
Private Sub ActivateReferenceLibrary()
'PURPOSE: Activate Specific Object Libraries
'Error Handler in Case Reference is Already Activated
On Error Resume Next
'Activate PowerPoint Library (version 2.9)
Application.VBE.ActiveVBProject.References.AddFromGuid _
GUID:="{00020813-0000-0000-C000-000000000046}", _
Major:=0, Minor:=0
'Reset Error Handler
On Error GoTo 0
End Sub
あなたがこれまでに試してみましたか?他のSubからCall ActivateReferenceLibraryを試してみましたか?サブルーチンを呼び出すときのスコープに関する情報はここを参照してください。https://www.thespreadsheetguru.com/blog/2014/3/5/explaining-private-vs-public-declarations – QHarr
投稿したコードは1つのコマンドしか実行しませんが、他に何もないので、なぜあなたはもっとそれをやろうとしていますか? – jsotola
@QHarrこれらは私が試した3つの方法です:[ActiveReferenceLibraryからの呼び出し](https://pastebin.com/3Fk4DnnC)、[averageScoreRelayからの呼び出し](https://pastebin.com/7nVweNPr)、[呼び出しなしPublic Subs](https://pastebin.com/Eq1pqVjc)をクリックします。これらのどれも働いていません。彼らは私に次のようなエラーを出します:SubまたはFunctionが定義されていないか、User-defined typeが定義されていないか、エラーが表示されず、ActiveReferenceLibraryを実行して停止します。 – Pinlop