次の方法で共有

ACCESS2016からEXCEL2016を”GetObject"で呼び出してEXCEL上で作業するプログラム(VBA)ですが、エラーになります。

Anonymous
2018-02-19T08:12:53+00:00

よろしくお願いします。  

 Windows7で、試用版のOffice365 E3 を使用しています。

クライアントでOffce365へのUpのためのテストです。

ACCESS2016からEXCEL2016を”GetObject"で呼び出してEXCEL上で作業するプログラム(VBA)ですが、エラーになります。

エラーはVBAの有効範囲にありませんとのこと。

空のEXCELが開いて、それが上に来てしまうためのエラーだと思います。

空のEXCELが開かないように、XLSTARTとか起動時の指定とか、修復機能を試してみましたが

修正できませんでした。

ちなみにダミーで何らかのEXCELを開いておけば正常に動きます。

プログラムコードは以下に記述しました。

プログラムは上から6行目(obj_book.Windows(xls_name).Visible = True)で止まります。

よろしくお願い申し上げます。

    UDIR = "C:\AGP"

    xls_name = "R07.xls"

    Set obj_book = GetObject(UDIR & xls_name, "Excel.Sheet")

    obj_book.Application.Visible = True

    obj_book.Application.UserControl = True

    obj_book.Windows(xls_name).Visible = True

    obj_book.worksheets("Sheet1").range("a1") = Me![残高所属会社コンボ]

** モデレーター注 **

この質問は [Office | Excel | その他/不明 | Office 365 for business] のカテゴリーに投稿されましたが、内容から判断し、こちらのカテゴリに移動いたしました。適切なカテゴリーに投稿すると、返信や回答が得られやすくなり、同じ質問を持つ他のユーザーの参考にもなります。

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

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

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

1 件の回答

並べ替え方法: 最も役に立つ
  1. Anonymous
    2018-02-19T11:26:41+00:00

    こんにちは。

    CreateObject で代替してみてください。

    Dim obj_book As Object

        Set obj_book = CreateObject("Excel.Application")

        obj_book.Visible = True

        obj_book.Application.Workbooks.Open ("D:\test\test.xlsx")

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

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