none
フィルターを合体させてファイル名を指定して別ブックのデータを読み込ませたい RRS feed

  • 質問

  •  ①OpenFileName = Application.GetOpenFilename("Excel ファイル,*.xlsx")

    ②OpenFilename = Application.Dialogs(xlDialogOpen).Show("C:\*特定のファイル名*")

    ①のフィルターは拡張子、②のフィルターは特定のファイル名が付くファイルをそれぞれ対象としていますが、2つのフィルターを合体させて、ファイル名を指定して、別ブックのデータを読み込ませることができますでしょうか?

    因みに①を使えば、拡張子で特定されたファイルを指定して、別ブックのデータを読み込ませることができますが、拡張子しか対象にできないので、特定のファイル名が付くファイル名が指定できません。②を使うと、特定のファイル名が付くファイルは指定できますが、別ブックのデータを読み込ませると次のエラーが出ます。

    "申し訳ございません。True.xlsxが見つかりません。名前が変更されたか、移動や削除が行われた可能性があります。"

      








    • 編集済み kuro1962 2015年12月27日 0:17
    2015年12月25日 5:52

すべての返信

  • 基本的な問題はファイルが見つからないだけのように思いますが、その原因を想像するには掲載された情報では不足しているようです。
    動作しないコードの方だけでかまいませんので、不具合が再現するミニマムなコードを掲載されると解決が早いように思います。

    ★良い回答には回答済みマークを付けよう! MVP - .NET  http://d.hatena.ne.jp/trapemiya/

    2015年12月25日 6:36
    モデレータ
  • 「OpenFilename = Application.Dialogs(xlDialogOpen).Show("C:\*特定のファイル名*.xlsx")」

    とか?

    追加

    上記コードで、存在しないファイルを指定した場合のメッセージは「ファイルが見つかりません。ファイル名を確認して再実行してください。」でした。メッセージが異なることから、そのメッセージはコード上で作成されていると思われます。そのメッセージが表示される過程に、何か不備があるのではないでしょうか。


    Jitta@わんくま同盟


    • 編集済み Jitta 2015年12月27日 0:58
    2015年12月27日 0:55
  • 実は②のコードを使うと、その後の次の読み込みコードによる不具合が生じて、"申し訳ございません。True.xlsxが見つかりません。名前が変更されたか、移動や削除が行われた可能性があります。"というエラーが出ます。

    If OpenFileName <> "False" Then

    "False"の部分を"True"に変えると、エラーは出ませんが、読み込まれたファイルに別ブックのデータからの読み込みができません。

    因みに①のコードを使えば、"False"による読み込みコードからのエラーが出ませんので、読み込まれたファイルに別ブックのデータからの読み込みができます。






    • 編集済み kuro1962 2015年12月27日 7:24
    2015年12月27日 5:56
  • 実はその後の次の読み込みコードによる不具合が生じて、"申し訳ございません。True.xlsxが見つかりません。名前が変更されたか、移動や削除が行われた可能性があります。"というエラーが出ます。

    If OpenFileName <> "False" Then

    残念ながらそれだけの情報ではアドバイスのしようがありません。少なくともエラーが発生しているのはご提示されたIf文ではなく、このIf文の後の部分でしょう。その部分がどのようなコードになっているのかわかりませんので、答えようがないのです。
    最初に私が書いたように、不具合が発生する部分全体のミニマムなコードの掲載をお願いいたします。
    プログラミングはロジックの記述ですが、回答を得たい時にどのような質問をすれば良いのかも同じくロジックの組み立てですので、その辺りをもう少しお考えいただければと思います。

    ★良い回答には回答済みマークを付けよう! MVP - .NET  http://d.hatena.ne.jp/trapemiya/

    2015年12月27日 7:22
    モデレータ
  •  「東京まで行きたいのですが、行き方を教えてください。」
    と尋ねられたら、どう答えますか?

     路上で、道行く人に尋ねられれば、簡単に答えられるはずです。では、あなたに、私が尋ねたら、どうでしょう?答えられないと思います。“私”がどこにいて、たとえば新幹線を使うにしても、新幹線が使えるところまでどの様な手段が必要かわからないのですから。

     今回されている質問も、同じように難しいものです。隣にいて、あなたが書いていない情報をあなたに聞かなくても得られるなら、簡単に答えられるのではないかと思います。しかし、あなたが書いていない情報を得ることができないので、とても難しい質問です。
     余った情報を捨てることはできます。提供されていない情報を作ることはできません。提供されていないところに問題の本質があるなら、答えることはできません。

    つーか、こっちで終息→名前を付けて保存を*.xlsx,*.xlsmのそれぞれ両方とも開けるように保存したい


    Jitta@わんくま同盟

    2016年1月2日 13:24