- 締切済み
エクセルVBAで全てのマクロを実行するには?
エクセルVBAの初心者です。 エクセルの他のワークブックからマクロのあるワークブックを開き、値を入れる式は成功したのですが、マクロにはパスワード保護がかかっており、マクロの実行式を入れることができません。 DoCmd.RunMacro で マクロ名は必須のようです。 マクロボタンは1つだけです。 すべてのマクロを実行、というようなコマンドは可能でしょうか?
- みんなの回答 (1)
- 専門家の回答
みんなの回答
- ushi2015
- ベストアンサー率51% (241/468)
こんにちは DoCmd.RunMacro って事はAccessですよね? Excel VBAでAccessを操作しているのですか? Sub test1() '参照設定要:Microsoft Dao 3.* Object Library Dim fNm As String Dim dbs As DAO.Database Dim ctr As DAO.Container Dim doc As DAO.Document Dim iC As Integer Dim iD As Integer Dim i As Integer Dim j As Long Dim mdl As Module fNm = "C:\temp\test.mdb" 'DBへのフルパス Set dbs = DBEngine.OpenDatabase(fNm, False, False, "MS Access;") iC = 6: j = 1 If dbs.Containers(iC).Documents.Count > 0 Then For iD = 0 To dbs.Containers(iC).Documents.Count - 1 Cells(j, 1) = dbs.Containers(iC).Documents(iD).Name j = j + 1 Next iD Else MsgBox "マクロ無し" End If dbs.Close Set doc = Nothing Set ctr = Nothing Set dbs = Nothing End Sub とかで、マクロ名抽出出来ますか? 出来たらそれを元にマクロ実行してみてはどうですか?