アプリ版:「スタンプのみでお礼する」機能のリリースについて

Workbooks.Open FileName:=ThisWorkbook.Path & "\" & "PI.xlsx"
同じフォルダ内のPIというブックを開くというコードですが、
同じブック名で時々xlsとxlsxという拡張子があります。
どちらでも一つしか存在しませんが、どうやって両方とも開けるようにしますか?

ご教示お願い致します。

「[マクロ]vbaで同じフォルダ内のブック」の質問画像

質問者からの補足コメント

  • ご回答ありがとうございます。
    xlsがない場合に、xlsxを開けるようにどうすればいいですか?

    No.2の回答に寄せられた補足コメントです。 補足日時:2020/01/25 16:45
  • ご回答ありがとうございます。
    xlsがない場合に、xlsxを開けるようにどうすればいいですか?

    No.1の回答に寄せられた補足コメントです。 補足日時:2020/01/25 16:46
  • 申し訳ございません。
    PI.xlsブックだけを保存してみたら、PI.xlsが見つかりませんというエラーが出てきました。

    「[マクロ]vbaで同じフォルダ内のブック」の補足画像3
      補足日時:2020/01/25 17:02

A 回答 (3件)

すいません。

Dir関数はファイル名しか返さないようですね。なので、その前にパスを表す文字列を結合する必要がありそうです。
こんな感じで、試してみて下さい。

Workbooks.Open Filename:=ThisWorkbook.Path & "\" & Dir(ThisWorkbook.Path & "\" & "PI.xls*")
    • good
    • 0
この回答へのお礼

うまく実行できました。
どうもありがとうございました。

お礼日時:2020/01/25 17:51

Workbooks.Open Filename:=Dir(ThisWorkbook.Path & "\" & "PI.xls*")

この回答への補足あり
    • good
    • 0

> どうやって両方とも開けるようにしますか?



それぞれOpenするのが真っ当です。

Workbooks.Open FileName:=ThisWorkbook.Path & "\" & "PI.xlsx"
Workbooks.Open FileName:=ThisWorkbook.Path & "\" & "PI.xls"
この回答への補足あり
    • good
    • 0

お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!