|    | 
     ▼まっつわん さん: 
>>path = path & "\" & fileA 
> 
>↑ファイルのフルパスですよね? 
>拡張子までちゃんと書いて見てはいかがでしょう? 
>違うかも知れないけど気になります。 
 
fileaの中身は拡張子付きのフルパスで、拡張子付きで変数を格納しています。 
 
あれからいろいろと検証してみました。 
守秘義務があるので簡単ですが、以下のようにメッセージボックスに 
取得したパスが出るようにしてみました。 
 
path = ActiveWorkbook.Path 
path = path & "\" & fileA 
Workbooks.Open Filename:=path ←ここで止まる 
msgbox path 
 
 
【結果】 
・パスが取得できていることをメッセージボックスで確認してからokボタン押すとうまく動きます。 
・次はメッセージボックスが出る前からエンターキー押しっぱなし。 
 止まります。 
・命令で3秒待つようにするとうまく動きます(前回も実施済み)。 
 
よって、以下の通り推測します。 
あくまで素人の推測ですので、分かりにくい点があるかと思いますがご容赦下さい。 
 
・パスの「アドレス」つまり文字列自体の取得は問題なく実行されている。 
・パスの「アドレス」を利用して対象のファイルを開く場合、そのアドレスをPCおよびエクセルが認識して「処理」するまでにはタイムラグが生じている。 
つまり、「アドレス」という文字列とそれを認識して「処理」する行為(エクセルを開くなど)にはタムラグがあるため、変数にパスが取得できているからといって即実行できるとは限らない。 
・おそらくEXCEL2013からSDI形式に変更されたことが影響していると思っています。 
 
いろいろとご助力頂きありがとうございました。 
 | 
     
    
   |