質問をすることでしか得られない、回答やアドバイスがある。

15分調べてもわからないことは、質問しよう!

新規登録して質問してみよう
ただいま回答率
85.48%
VBA

VBAはオブジェクト指向プログラミング言語のひとつで、マクロを作成によりExcelなどのOffice業務を自動化することができます。

Q&A

解決済

2回答

9530閲覧

VBAで開いていないエクセルファイルのセルを参照したいです

m_s

総合スコア51

VBA

VBAはオブジェクト指向プログラミング言語のひとつで、マクロを作成によりExcelなどのOffice業務を自動化することができます。

0グッド

0クリップ

投稿2016/09/13 18:30

編集2016/09/13 18:40

###前提・実現したいこと

「VBAでマクロを実行するファイル」と同じ階層にあるフォルダ(folder)内の,開いていないエクセルファイル(aaa.xls)のセルを(ThisWorkbook.Path & "\folder\aaa.xls")で参照したいのですが、このメソッドの使い方があまりわかりません。
使い方を知っている方がいれば教えて下さい。

ExecuteExcel4Macro(ThisWorkbook.Path & "\folder" & "'[aaa.xls]Sheet2'!R3C15")

ちなみにパスの部分をThisWorkbookを用いずにフルパスで入力した所正常に動きました。

気になる質問をクリップする

クリップした質問は、後からいつでもMYページで確認できます。

またクリップした質問に回答があった際、通知やメールを受け取ることができます。

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

guest

回答2

0

ベストアンサー

パッと見たところでは [aaa.xls]Sheet2 のか部分がシングルクォーテーションで括られている様に見受けられますが、パスの先頭からシート名までの全体を括る必要があるのでは?
それで下記のように記載するのが正しいように思います。

ExecuteExcel4Macro("'" & ThisWorkbook.Path & "\folder\" & "[aaa.xls]Sheet2'!R3C15")

蛇足ですが、デバッグの事を考えると、以下のように一旦変数で受けてから関数に渡してやると、実際にどんな値を渡しているかが確認しやすいのでオススメです。

var target_cell as String target_cell = ThisWorkbook.Path & "\folder\" & "'[aaa.xls]Sheet2'!R3C15" ExecuteExcel4Macro(target_cell)

投稿2016/09/13 23:29

pi-chan

総合スコア5936

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

0

以下のようにしたらいかがでしょうか?

VBA

1ExecuteExcel4Macro("'" & ThisWorkbook.Path & "\folder\[" & "aaa.xlsx" & "]Sheet2'!R3C15")

こちらのサイトに非常に分かりやすく記載されております。

投稿2016/09/13 23:19

cesolution

総合スコア217

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

15分調べてもわからないことは
teratailで質問しよう!

ただいまの回答率
85.48%

質問をまとめることで
思考を整理して素早く解決

テンプレート機能で
簡単に質問をまとめる

質問する

関連した質問