Excel VBA質問箱 IV

当質問箱は、有志のボランティア精神のおかげで成り立っています。
問題が解決したら、必ずお礼をしましょうね。
本サイトの基本方針をまとめました。こちら をご一読ください。

投稿種別の選択が必要です。ご注意ください。
迷惑投稿防止のため、URLの入力を制限しています。ご了承ください。


9 / 13057 ツリー ←次へ | 前へ→

【79489】excel2013にて発生するworkbooks.Openの停止について ペーターパン 17/11/3(金) 12:50 質問[未読]

【79504】Re:excel2013にて発生するworkbooks.Openの... まっつわん 17/11/20(月) 16:56 回答[未読]
【79506】Re:excel2013にて発生するworkbooks.Openの... ペーターパン 17/11/21(火) 12:46 発言[未読]

【79504】Re:excel2013にて発生するworkbooks.Ope...
回答  まっつわん  - 17/11/20(月) 16:56 -

引用なし
パスワード
   >path = path & "\" & fileA

↑ファイルのフルパスですよね?
拡張子までちゃんと書いて見てはいかがでしょう?
違うかも知れないけど気になります。

【79506】Re:excel2013にて発生するworkbooks.Ope...
発言  ペーターパン  - 17/11/21(火) 12:46 -

引用なし
パスワード
   ▼まっつわん さん:
>>path = path & "\" & fileA
>
>↑ファイルのフルパスですよね?
>拡張子までちゃんと書いて見てはいかがでしょう?
>違うかも知れないけど気になります。

fileaの中身は拡張子付きのフルパスで、拡張子付きで変数を格納しています。

あれからいろいろと検証してみました。
守秘義務があるので簡単ですが、以下のようにメッセージボックスに
取得したパスが出るようにしてみました。

path = ActiveWorkbook.Path
path = path & "\" & fileA
Workbooks.Open Filename:=path ←ここで止まる
msgbox path


【結果】
・パスが取得できていることをメッセージボックスで確認してからokボタン押すとうまく動きます。
・次はメッセージボックスが出る前からエンターキー押しっぱなし。
 止まります。
・命令で3秒待つようにするとうまく動きます(前回も実施済み)。

よって、以下の通り推測します。
あくまで素人の推測ですので、分かりにくい点があるかと思いますがご容赦下さい。

・パスの「アドレス」つまり文字列自体の取得は問題なく実行されている。
・パスの「アドレス」を利用して対象のファイルを開く場合、そのアドレスをPCおよびエクセルが認識して「処理」するまでにはタイムラグが生じている。
つまり、「アドレス」という文字列とそれを認識して「処理」する行為(エクセルを開くなど)にはタムラグがあるため、変数にパスが取得できているからといって即実行できるとは限らない。
・おそらくEXCEL2013からSDI形式に変更されたことが影響していると思っています。

いろいろとご助力頂きありがとうございました。

9 / 13057 ツリー ←次へ | 前へ→
ページ:  ┃  記事番号:
2610219
(SS)C-BOARD v3.8 is Free