• ベストアンサー

VBで固定フォルダ内の *.xls を開く

PrintScreeの回答

  • ベストアンサー
  • PrintScree
  • ベストアンサー率25% (538/2091)
回答No.2

Dir()関数で指定フォルダ内のファイルを順番に読み出せるので、system()関数か、ShellExecute() Win32APIを使用してファイルを開けば目的のことは達成できるはずです。 Dir()関数はヘルプに例が載っているので探してください。

bonn1117
質問者

お礼

解決しました^^ ありがとうございました!!! OPENは Set objExcelApp = GetObject("") にて正常に開けています^^

関連するQ&A

  • VB.NETで.xlsファイル読み取り

    dataGridViewにあるフォルダ内の複数.xlsファイルを読み取りして表示したいです。一件の固定パスだったら、できましたけど、複数件は。。。? イメージ図も添付いたします。 よろしくお願いします。 環境: Windows XP Visual studio 2005 VB.NET

  • xlsファイルのバージョンを取得したい(by VB6)

    仕事でVB6を使っていますので、 どうしてもVB6でやりたいんです。 Excel 2007 で作成されたxlsファイル、 Excel 2003 で作成されたxlsファイル、 Excel 2002(Office XP) で作成されたxlsファイル、 Excel 2000 で作成されたxlsファイル、 Excel 97 で作成されたxlsファイル、 を区別したく、 xlsファイルのExcelバージョンを取得したいです。 しかし、どうやって取得したらいいのか分からないので、 ここに質問させていただきます。 やりたいアルゴリズム : 1 . xls ファイルのフルパスを受け取る。 2 . ファイル情報として、作成されたExcel バージョンを知りたい 3 . バージョンによって分岐させて、処理。 調べて、ヒントになったURLを書きます。 http://support.microsoft.com/kb/178605/ja ==> BIFF8 や BIFF5 など BIFFのバージョン取得なので、やりたい事と違います。 http://excel.geo.jp/tips/vba_153.html ==> この識別を VB6 上でしたいです。 よろしくお願いします。

  • .xlsファイルからVBへ読み込み

    VB初心者です。 教えてください。 Excelファイルを(OpenFileDialogで)選択してその内容をFormのテキストボックス等に読み込むにはどのようにしたらいんでしょうか? ちなみにDBには接続しない方法です。 Excelクリエータを使ったら出来るみたいなんですが、方法がわかりません。 VBからExcelへインポートはわかるんですが... 判る方がいらっしゃれば教えてください。

  • フォルダ内で自由に選択した *.xlsのファイル名を即変更するには?

    フォルダ内で自由に選択した *.xlsのファイル名を即変更するには? Windows XP Home Edition SP3 Office XP Personal 2002 Excel 2002 フォルダの場所は、 C:\Documents and Settings\Owner\デスクトップ\E\10 です。 画像左のように、●1 は 「 061007.xls(06年10月07日) 」 を 当フォルダ内で手作業でコピーしてファイル名を 「 E123.xls 」 に変更し作業を終えました。 そして、不要になった 「 E123.xls 」 を当フォルダ内から削除します。 次に、同様に、 画像右の●2は、「061008.xls」を 当フォルダ内で手作業でコピーしてファイル名を 「 E123.xls 」 に変更し作業を終えました。 そして、不要になった 「 E123.xls 」 を当フォルダ内から削除します。 次に、同様に、 「 061014.xls 」 ・・・ の繰り返しですが、今まではもちろん手作業で行っておりましたが、非常に多数のファイルがあるので大変でございます。 【質問のまとめでございます】 画像左 のように、 作業を終え、不要になった 「 E123.xls 」 を削除して、 「 ポインタで自由に選択した ●1 」のファイル名を、即 「 E123.xls 」 に変更するマクロがあればと思っております。 画像の例は、「 061007.xls(06年10月07日) 」ですが、「 100529.xls(10年05月29日) 」の場合などいろいろあります。 何卒、ご教示のほどをお願い致します。

  • VBでWorkbookをActivateさせる方法

    複数のファイルを開いています。 例 ファイル名 たこ   ファイル名 可変(例 AAAA)   ファイル名 でんわ 「ファイル名たこ」にマクロをくんで、A1にある数値(例AAAA)を可変としてセーブされているファイルを開きます。ここまではVB成功しています。 その後、「ファイル名でんわ」で作業した後、「可変ファイル」に戻るマクロの記述の仕方を教えてください DIMは下記のように記述しています Dim KAHEN As String KAHEN = "Worksheets("sheet1").Range("A1") & ".xls" ACTIVATEする記述を下記のようにしたらエラーが出ました Windows("KAHEN").Activate

  • フォルダ内のファイル読み込み

    エクセル2003のVBAを使って、特定のフォルダ内の複数のCSVファイル全てを「順番」に読み込む(ファイルを開く)方法を教えて下さい。 フォルダの中には「0.csv」~「12.csv」が入っています。 (しかし、間の番号が無い場合があります。例えば、0~4と6~10のファイルがあり、間に「5」がない。 必ず「0」から始まるないし、最後のファイル名の数字も違う。) よろしくお願いします。

  • <EXCEL2007 VB(VBA) カレントフォルダの変更方法>

    <EXCEL2007 VB(VBA) カレントフォルダの変更方法> VBからプログラムで用途に合わせてEXCELの読み出し、保存のフォルダ位置をコントロールしようとしています。 ファイルの読み出し、保存指定の時に希望のカレントフォルダを開けるように、プログラムでCHDIRやチェンジドライブを指定してから「GetOpen」「GetSaveAs」を実行しても、カレントフォルダはマイドキュメントから変わりません。 「EXCELのオプション-保存-規定のファイルの場所」では、固定化されてしまうので利用出来ません。 EXCEL2007では方法が変わったのでしょうか? 検索しても中々、トピックスに出会わないので思い切って質問に出してみました。 わかる方いましたらよろしくお願いします。

  • 1フォルダに「A.xls」、「B.xls」、「C.xls」・・・とある

    1フォルダに「A.xls」、「B.xls」、「C.xls」・・・とある場合、 すべてのファイルに一斉にA1セルに「a」という文字を反映させる場合の VBAプログラムを教えていただけますでしょうか? よろしくお願いいたします。

  • VB6.0でエクセル保存する時の保存場所の指定。

    VB6.0からデータをエクセルに保存させようとしています。 保存する方法は、エクセルを開くのではなく、 ボタンを押したらそのまま自動で保存させるようにしています。 そしてその名前をつけて保存をさせる処理で、ファイルの保存場所を示す パスの指定で少々困っております。 EXEファイルがある位置をカレントとして同一フォルダ内にあるtestフォルダに 全てデータは保存したいと考えています。 絶対パスを固定で指定すればそこに保存できますが、それだと違うPC上で実行すると 動作しない危険性がありますので、相対パスで指定したいと思っています。 ですが、実行ファイルから"./test/test.xls"と指定してもパスのエラーとなり 保存できません。 しかし絶対パスの固定でフォルダを指定すると保存できます。 ws.Name = "C:\vb_test\test\test.xls" これをEXEファイルのある位置からの相対パスで指定するにはどうすればいいでしょうか?

  • VBからEXCELを起動する

    VBよりExcelを起動するプログラムで困っています。 1.VBよりGetObject関数でTest.xlsを開く 2.Test.xls内のAuto_Openマクロでパラメータファイルをよみ、そこに指定されているエクセルファイルを新しいブックでを開く ということをしたいのですが(「マクロを有効にする」のダイアログは表示されてもかまわないです)、何故かTest.xlsが開いたと思ったらすぐ閉じてしまいます(Excel自体は終了してないですべてのワークシートが閉じた状態)。 Auto_Openマクロは走ってるようなのですが、ついでにCloseマクロも走ってしまいます。 ちなみにTest.xlsを単体で動かしたときは問題なく動くのです・・・。 以前はVB4+Excel95の環境でAPI(CreateProcess)を使用し同作業を行っていたのですが、そのAPIが長いファイル名のスペース(OFFICEがある「Program File」のスペース)を認識しないそうで、この方法が使えないということでGetObjectを使用してみたのですが・・・。 何か根本的な間違いをしているのか、それともコードにエラーがあるのかさっぱりわからずお手上げです。 うまく疑問点を説明できているか不安なんですが、わかる方、どうかご指導願います。 よろしくお願いします。 ---------------------------------------- OSは、Windows 2000 アプリケーションは、Excel 2000 です ----------------------------------------