• ベストアンサー

エクセルマクロで同じフォルダ内のテキストファイルをメモ帳で開く方法

「マクロを記述したエクセルファイルと同じフォルダにある、 特定のファイル abc.txt を、メモ帳で開く」ということをしたいのですが、マクロの記述をご教授下さい。 フォルダ名を固定すると、 Shell "notepad C:\--\abc.txt", vbNormalFocus という形でできたのですが、 フォルダの名前は、固定ではなく、変わります。 ですので、フォルダ名が含まれると都合が悪くなってしまうんです。 エクセル2000、WINDOWS XP を利用しています。 どうぞよろしくお願いいたします。

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

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

#1です。間違い。 Shell "notepad " & thisworkbook.Path & "\abc.txt", vbNormalFocus

koseika
質問者

お礼

bonaronさま どうもありがとうございました。 その通りに実行してみたら、うまくできました。 おかげで助かりました!

その他の回答 (2)

  • mt2008
  • ベストアンサー率52% (885/1701)
回答No.2

同じフォルダ内なら Shell "notepad C:\--\abc.txt", vbNormalFocus ↓ Shell "notepad abc.txt", vbNormalFocus で、出来ませんか?

koseika
質問者

お礼

mt2008様 どうもありがとうございます。 この方法でも、うまくいきました! 本当に困っていたので、大変助かりました。

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

> Shell "notepad C:\--\abc.txt", vbNormalFocus Shell "notepad thisworkbook.Path & "\abc.txt", vbNormalFocus でいかが?

関連するQ&A

  • エクセルでフォルダまたはファイルを開くマクロですが、どのように改良すれ

    エクセルでフォルダまたはファイルを開くマクロですが、どのように改良すればよろしいでしょうか? 下記マクロは、エクセルシートのJ列のあるセルをダブルクリックすると、そのセルに記入された文字列を検索して、該当のフォルダまたは、写真が開きます。(エクセルファイルと写真は同フォルダに保存している場合のみ有効) 困っていることは、J列のセルと該当フォルダまたは、写真ファイルをリンクさせたいのですが、文字列が全て一致している時のみしか開かないことです。 D<デジカメ<商品名フォルダ<写真ファイル 例えば セルJ3の文字列がABCEで、フォルダ名またはファイル名がABCDEFであった場合、文字列ABCEを含む条件で、フォルダ名またはファイル名ABCDEFを開くように改良したいのですが、 また、エクセルファイルと写真ファイルの保存場所は、全く違うフォルダにしたいのですが、 エクセルファイルと写真ファイルは、別フォルダの場合、どのように検索先フォルダのパスを入れたら良いのでしょうか? マクロに詳しい方ご教授下さい。よろしくお願い致します。 Private Sub Worksheet_BeforeDoubleClick(ByVal Target As Range, Cancel As Boolean) Dim myPath As String If Target.Cells(1, 1).Column <> 10 Then Exit Sub Cancel = True myPath = ThisWorkbook.Path & "\" & Target.Cells(1, 1).Text If Dir(myPath, vbDirectory) <> "" Then Shell "explorer.exe /e,/root," & myPath, vbNormalFocus Exit Sub End If myPath = Replace(LCase(myPath), ".jpg", "\" & Target.Cells(1, 1).Text) If Dir(myPath, vbNormal) <> "" Then Shell "rundll32.exe shimgvw.dll,ImageView_Fullscreen " & myPath, vbNormalFocus End If End Sub

  • フォルダ内のファイルを取得する方法EXCELVBA

    こんにちは、 下記フォルダの中に、ファイル名 \ABC_20140620_001というふうに、ABCは固定なのですが、日付と、連番がついたファイルが出来ます。 下記フォルダのマクロファイルから、マクロを実行させて、このファイルの固定した部分(すなわちABC)を元に、ファイルを取得(または開かせる)したいのですが、どのようなコードになるでしょうか? フォルダは、\C\XYZです。 EXCEL 2013です。

  • エクセルのマクロで特定フォルダ内のJPGファイルを検索して開きたいので

    エクセルのマクロで特定フォルダ内のJPGファイルを検索して開きたいのですが、うまくいきません。 検索して開くファイルは、アクティブセルの値で始まります。 (例えばアクティブセルが「0000」だとすると、フォルダ内にある「0000りんご.JPG」というファイルを開く。りんごの部分は特定の文字でないためワイルドカードを使用してみましたがうまくいきません) Sub test() Dim P As String Dim Fname As String Fname = ActiveCell.Value P = "パス名\" & Fname & "*.JPG" Shell "Rundll32.exe" & " Shimgvw.dll,ImageView_Fullscreen" & " " & P, vbNormalFocus End Sub どうぞよろしくお願い致します。

  • 特定のフォルダーに入っている複数のファイルを統合

    特定のフォルダーに入っている複数のファイル(日によってファイル名、ファイル数が違う)を、 特定のファイルに統合するには、記述はどのようにすればよいでしょうか。 例えば フォルダーAに "1.txt" "2.txt" "3.txt" が入っていて(翌日には"4.txt"が入っているかもしれません)、 それを"123.txt"に統合する。 ただし統合するファイル名は毎回"123.txt"の固定でよい よろしくお願いいたします。

  • エクセルファイルを名前順に開いてくるマクロが作りたいのですが。。。

    エクセルファイルを名前順に開いてくるマクロが作りたいのですが。。。 特定のフォルダ(C¥集計)に ABC0001-勤怠表-佐藤.xls ABC0002-勤怠表-山田.xls ABC0003-勤怠表-上田.xls ・・・ ABC0030-勤怠表-橋本.xls のように先頭のコードが順に割り振られているエクセルファイルがおいてあります。 (ABCは社名として固定) これを (1)佐藤のファイルを開き特定セルをコピーして別ファイルにペーストしファイル閉じ。 (2)同作業を山田→上田。。。橋本まで順にやりたいのです。 変数を宣言してまでは理解できるのですが、その変数を使ってファイル名等を定義して辺りからさっぱり分かりません。 かなりネット検索もして似たような事例を探したのですが、すっきりした回答がありませんでした。 まだVBA初心者ですが、別のマクロが動いて面白くなってきたところです。 助けていただけると幸いです。

  • エクセルのマクロ

    エクセルのマクロ(VBA?)で、あるフォルダ内のファイル名を取得する(拡張子が.txtのもだけ)関数があれば教えてほしいのですが・・・

  • 秀丸マクロでメモ帳でtxtを開く方法を教えて!

    txtを秀丸に関連付けしていますが、関連付けしたまま あるフォルダーのtxtファイルだけメモ帳で開くマクロを作りたいと考えています。 どのような マクロを作ればよいでしょうか? 秀丸パイプかDllが必要であれば、その方法でもかまいません。 秀丸マクロで普通に秀丸でtxtファイルを開くマクロ setcompatiblemode 0x0F; openfile macrodir + "\\txt\\*.txt"; endmacroall;

  • スタートアップフォルダにエクセルファイルを入れてPC起動時の自動が実行可能ですか?

    現在 [メモ帳.vbs]ファイルとして、次のような記述のファイルをスタートアップフォルダに入れてあります。 Option Explicit 'オブジェクト変数の宣言とWshShellオブジェクトの作成。 Dim objWshShell Set objWshShell = WScript.CreateObject("WScript.Shell") WScript.Sleep 10000 '10秒待機 '例としてメモ帳起動 objWshShell.Run "C:\Windows\System32\notepad.exe" これですと、notepad.exeファイルは自動実行されます。  しかし[エクセル.xlsm]というエクセルファイルを同様に単純にパスを通して[エクセル.vbs]ファイルを作成し、 スタートアップフォルダに入れてもエラーが出て実行されません。記述がわかる方いらっしゃったら、ぜひ教えててください。 お願いします

  • フォルダ内全ファイルをシート毎に貼付方法について

    VBA仙人様ご教授お願い致します。 1フォルダに数十のログファイル(.txt)が格納されています。 1ファイルは3~5万行記述あります。 これを1つのExcelファイルにしたいと思っています。 VBA流れとして (1)ログ格納フォルダを選択 (2)ログファイル名を取得 (3)既存Excelファイルに(2)で取得したファイル名(.txt除いた)で順次シートを追加 (4)ログファイル=シートとなるようにファイル読み込み/貼り付け (5)ログファイルを閉じる VBAイメージ 格納フォルダ:C:\test \test内    :A001.txt,A002.txt,B003.txt・・・・・・・・Z051.txt(このフォルダにはログのみ格納) C:デスクトップ\集計マクロ.excel (VBAの記述のあるExcelシートにはSheet1のみが存在) VBA前 集計マクロ.excel/Sheet1 VBA実行後 集計マクロ.excel/Sheet1,A001,A002,B003,D004・・・・・・・・・Z051が追加、シート毎にログ情報記載 単一ファイルの読み込み/ファイル名をシート名に付与/情報コピペ/ファイル閉じについては、 作成できたのですが、複数ファイルの場合のファイル名を順次取得し、シート名として付与するなど objやValiant変数などで試行錯誤しましたが解決できず、こちらに質問されていただきました>< このVBAで作成されたシートからの集計マクロについては完成していますが、 その手前でつまづいています>< ご教授のほどお願い致します><

  • エクセル マクロで特定ファイル名だけを開く

    エクセルのマクロで 特定のファイル名だけをフォルダの中から探して 開くというものを作りたいのですが うまくできません。 フォルダを指定して 「060927.xls」というエクセルファイルだけを 開きたいのですが この日付のところが毎日変わるので 「06XXXX.xls」というような 最初が06であと4つの文字が入ってるファイル名だけを 流動的に指定できるようにするには どのようなVBAマクロにすればよいのでしょうか? とても困っています。 是非教えてください!宜しくお願いします。

専門家に質問してみよう