次の方法で共有

アクセスからエクセルマクロを実行したいのですが実行できません。

Anonymous
2016-11-23T22:07:59+00:00

Dim oApp As Object   

    Set oApp = CreateObject("Excel.Application")

    oApp.Visible = True

    'Only XL 97 supports UserControl Property

    On Error Resume Next

    oApp.UserControl = True

    'ファイルを開く

   oApp.Workbooks.Open FileName:="C:\Users\ayuhou\Documents\鮎匠.xls"        

    oApp.range("A1") = "ヤマメ"      

    oApp.objXL.Application.Run (鮎匠.xls & "!" & マクロ実行)

 アクセスコマンドボタンを押してエクセルファイルを開きセルA1に文字入力後にエクセルの「マクロ実行」マクロを実行したいのですが、最後の行書き方を教えて下さい。

開発者テクノロジ | Visual Basic for Applications

ロックされた質問。 この質問は、Microsoft サポート コミュニティから移行されました。 役に立つかどうかに投票することはできますが、コメントの追加、質問への返信やフォローはできません。

0 件のコメント コメントはありません

質問作成者が受け入れた回答

Anonymous
2016-11-24T11:28:42+00:00

こんばんは、ずっちです。

コーディングして実行の際、正常に動作しない場合は、

On Error Resume Next などをはずしてデバッグしてみましょう。

手が空いたので実際に試してみました。

まず、「objXL」は不要でした。(On Error...を外すと実行時エラー438)

次に、ファイル名はシングルクォーテーションでくくる必要があるようでした。

なので...

oApp.Application.Run ("'鮎匠.xls'!マクロ実行")

で動くと思います。

この回答は役に立ちましたか?

4 人がこの回答が役に立ったと思いました。
0 件のコメント コメントはありません

3 件の追加の回答

並べ替え方法: 最も役に立つ
  1. Anonymous
    2016-11-24T13:55:12+00:00

    ずっち様ありがとうございました。

    実行できました。

    わざわざ試していただき本当にありがとうございました。

    この回答は役に立ちましたか?

    0 件のコメント コメントはありません
  2. Anonymous
    2016-11-24T10:31:50+00:00

    ずっちさん返信ありがとうございます。

    やってみましたができませんでした。

    マクロ実行は変数ではなくマクロ名になります。

    ネットで調べ「Public sub マクロ実行()」もやってみましたができませんでした。

    何か解りましたらよろしくお願いします。

    この回答は役に立ちましたか?

    0 件のコメント コメントはありません
  3. Anonymous
    2016-11-24T06:26:08+00:00

    こんにちは、ずっちです。

    使ったこと無いので、ハズレてたらごめんなさい。

    http://officetanaka.net/excel/vba/tips/tips09.htm

    上記のページではファイルパスは文字列になっています。

    「マクロ実行」って変数が無く、Excelに「マクロ実行」ってプロシージャがあるのであれば、

    oApp.objXL.Application.Run ("鮎匠.xls!マクロ実行")

    「マクロ実行」って変数があるのであれば、

    oApp.objXL.Application.Run ("鮎匠.xls!" & マクロ実行)

    になるのかな?

    この回答は役に立ちましたか?

    0 件のコメント コメントはありません