• ベストアンサー
  • すぐに回答を!

初歩的なマクロ操作で挫折

マクロを始めたばかりの者です。 やりたい事はシンプルなのですが、マクロ初心者にはむつかしいのでお尋ねします。 「デスクトップにあるフォルダ内の複数のテキストファイルを毎回選択してエクセル上で開きたい」 のですが、これをマクロでやるにはどのように書けばいいのでしょうか? イメージとしては、マクロの操作を実行すると、 「デスクトップのファルダ内にあるテキストファイルを選択できるようになる」 ということがやりたいです。 宜しくお願い致します。そもそもこのマクロ操作はむつかしいことですか?

共感・応援の気持ちを伝えよう!

  • 回答数5
  • 閲覧数74
  • ありがとう数0

質問者が選んだベストアンサー

  • ベストアンサー
  • 回答No.5
  • Wendy02
  • ベストアンサー率57% (3570/6232)

こんにちは。 >そもそもこのマクロ操作はむつかしいことですか? 物事というのは、一つずつの積み上げなのですね。だから、むつかしいとか、簡単という尺度では測れません。ただ、初級のレベルには違いないような気がします。 このレベルで、コードを書かないのもへんですから、サンプルを置いておきます。もっと、高度なことを考えていらっしゃる人もいるのかもしれませんが。 Sub TestOpen() Dim FileNames As Variant Dim fn As Variant  ChDir "C:\Documents and Settings\<UserName>\デスクトップ\"  FileNames = Application.GetOpenFilename("テキスト(*.txt),*.txt,すべて(*.*),*.*", MultiSelect:=True)     If VarType(FileName) = vbBoolean Then Exit Sub  For Each fn In FileNames   Workbooks.Open fn  Next fn      End Sub

共感・感謝の気持ちを伝えよう!

その他の回答 (4)

  • 回答No.4

「毎回選択してエクセル上で開きたい」ということですから、 Application.Dialogs(xlDialogOpen).Show で良いのではないでしょうか? 「全てのファイル」を選ばないとテキストファイルは選択できませんが。

共感・感謝の気持ちを伝えよう!

質問者からの補足

ありがとうございます。 デスクトップにある「特定のフォルダ」を指定する場合ということをお伝えし忘れました。 デスクトップ上の「○○」の中にある複数のテキストファイルを選択できるようにしたいです。 想像していた以上にむつかしいのですね。皆様に感謝します。

  • 回答No.3
  • nobu555
  • ベストアンサー率45% (158/345)

初心者なのでしたら、初めから難しいことを考えず、 マクロの記録で、 「複数のテキストファイルを開く」を繰り返してマクロを作成しては 如何でしょうか。

共感・感謝の気持ちを伝えよう!

  • 回答No.2
  • bonaron
  • ベストアンサー率64% (482/745)

エクセルVBE の ヘルプで GetOpenFilename をお調べください。 複数選択には、引数 MultiSelect を True にして VB の配列に関する知識が必要になります。(キーワード UBound) ちょっと難易度は高いですが、 GetOpenFilename をネットで検索すれば 似たような例が見つかると思います。

共感・感謝の気持ちを伝えよう!

  • 回答No.1
  • FEX2053
  • ベストアンサー率37% (7933/21167)

>そもそもこのマクロ操作はむつかしいことですか? その通り、結構大変です。 マクロは一本道の処理を行うように特化されてますので、 「ファイルを選択する」処理で「マクロを一時停止してOSのファイル選択 機能を起動、その終了を検知して一時停止を解除」という高度なことを やらなくちゃいけないからです。 「ファイルを選択しておいてマクロを起動」なら、まだナンとかなりそう ですけど、これも「任意のファイルを処理する」コードを書かないと いけないので、それなりに大変です。

共感・感謝の気持ちを伝えよう!

関連するQ&A

  • Excelマクロで複数のファイルを開く方法

    Excel VBAでそのマクロを実行するファイルと同じフォルダにある 複数のテキストファイルを全て開いて、ある処理を実行して それを名前を変えた別のテキストファイル(元のテキストファイル名に 何らかの名前を追加する形が望ましいです。)として保存する マクロを作成したいのですが、可能でしょうか。 当方、初心者につき申し訳ございませんがよろしくお願い致します。

  • デスクトップ上にあるフォルダ内のファイルを選択して開くマクロ

    マクロを始めた初心者です。 エクセル上でデスクトップの「○○」というフォルダ内にある複数のテキストファイルを表示して、その都度選択して開きたいと思います。 この作業をマクロで行いたいのですがうまくいきません。 あまりにも単純なマクロのためか同じような症状の方が見当たらないので投稿しました。よろしくおねがいします。

  • excelのマクロ操作

    excelで以下の操作をマクロを用いて繰り返し行いたいのですがどのようになプログラムにしたらいいでしょうか? テキストファイルをexcelで読み込む            ↓         グラフの作成            ↓           excelの保存

  • VBA ファイル操作について

    はじめまして、VBA初心者の者です。 早速ですが、 エクセルマクロで「テキストファイルを開く」という操作を行いたいと思っています。 ここで言う「開く」は、読み込み/書き込み用に開くのではなく、テキストファイル自体を開いて、内容を画面上に表示するという意味です。 なにか良い関数や方法がございましたら、お教え願います。 よろしくお願いします。

  • VBAとマクロの違い

    こんばんは。エクセル初心者です。 VBAとマクロの違いについて教えてください。 VBAというのは、プログラミング言語のことで よろしいのでしょうか? そのVBAで記述されたものをマクロとよぶ といったイメージでよろしいのでしょうか? たとえば、あるエクセルにはいってるマクロを 実行する、ということを作業マニュアルに記述 する場合 「○○マクロを実行する」というのが 正しいのでしょうか?それとも 「VBAを実行する」というのが正しいのでしょうか? まったく見当違いのご質問だったら申し訳ありません。 教えてください。

  • エクセルマクロでご教示ください

    エクセルで作られたデータファイルに対し、ある操作を施して上書き保存するというマクロを作りました。 そのマクロを走らせるとファイル名を聞いてきまして、そこでファイル名を入力してやれば、ある操作を施したあと 自動的に上書き保存までしてくれるのですが、対象ファイルが複数個あると、ひとつ実行したあとまたひとつ ファイル名を入れて、またそれが終ったら次のファイル名を・・・というように、ひとつひとつ実行しなければならない というのが現状です。 これを次のように改良したいのですが、どうすればいいのでしょうか? 1.マクロを立ち上げる。 2.処理する複数のファイルが入っている「フォルダ」を選ぶ。  (一覧表示のウィンドウが出てきて、その中で「フォルダ」を選ぶ) 3.そのフォルダの中に入っているエクセルファイル全てに対し、既に作成済みのマクロを順次実行する。 というものです。 よろしくお願いします。

  • Excel データ切り出しマクロについて

    Excelのマクロについてお聞きしたいと思います. たくさんあるテキストファイルの一部を切り取って貼り付けたい場合は どうしたらいいのでしょういか? マクロではない流れとしては テキストファイルを開く ↓ 全選択してコピー ↓ Excelに貼り付ける ↓ 必要な部分だけ切り取る ↓ 貼り付け データの例としては A 12.3 78.5 B 13.5 65.5 C 23.5 65.8 とあるとしたら一番右側の列のデータのみ(78.5,65.5,65.8) だけ必要とします(切り取りたい部分) どのようなマクロを組んだらいいのでしょうか? よろしくお願いいたします.. マクロ実行時にファイルを選択できる機能もつけていただけたら 嬉しいです. できましたら全コードを載せていただけたら幸いです.

  • EXCEL マクロ

    エクセルマクロ初心者です。 エクセル2007で、複数選択したセルの合計値・平均値をコピーできないか悩んでいます。作業によって、選択するセルが変わりますので、セル番地の指定をせずにマクロの書くことができますでしょうか。 イメージとしては、複数のセルを選択をしたときに、ステータスバーにオートカルクで表示される合計値・平均値をクリップボードにコピーし、別のセルに結果をペーストする感じ(ペーストする際に合計値・平均値のどちらを貼り付けるか選択できれば尚、良)です。 個人用マクロブックに登録して、不特定ブックで使用したいマクロです。よい方法があれば教えて下さい。

  • OOoBasicでのマクロの実行の仕方

    OOoのBasicの超初心者です。セルに数字や文字を書き込むことは出来るようになりました。 困ったことに、OOoのBasicで書いたマクロを実行するのにいちいちツール→マクロ→マクロの管理・・と延々と操作しないと目当てのマクロが実行できません。エクセルではコントロールキーを使ってすぐに実行できて便利でした。OOoにもきっとそういう便利な方法があると思うのですが、もしあったらぜひやり方を教えてください。お願いします。

  • エクセルVBAでの呼出操作をマクロ化するには?

    エクセルVBAでの呼出操作をマクロ化するには? エクセル2000です。宜しくお願いします。 VBAで、ファイルを呼び出したいのですが、Workbooks.openの書き方が良く分かりません。 呼び出すファイル名は決まっていなくて、フォルダ名は固定です。 エクセルの操作で言うと、ファイルを開くを押して、フォルダを選ぶとこまでをマクロかしたいのですが。 例えば、ドライブDの「作業用」フォルダを開きたい場合は、どう記述すれば宜しいでしょうか? 基礎的な部分でお恥ずかしいのですが、以下で実行しても動かんのです。 ChDir "D:\作業用" Workbooks.OpenText Filename:= "D:\作業用\*.*"