汎用機メモっとくか

しごと用の(学習メモ&お気に入り保存)。

VBAからテキストファイルを開く

2011年03月24日 06時50分08秒 | EXCEL VBA

http://www.moug.net/tech/exvba/0060072.htm
    拡張子関連づけでファイルを開く
    テキストファイルを開く

http://www.moug.net/faq/viewtopic.php?t=57516 <消えてます20120110>
    ExcelVBAから秀丸でテキストファイルを起動し、指定行にジャンプしたい


上記リンクを参考にさせていただきました。

感謝いたします。

Option Explicit
Sub Ⅰ_VBAでNOTEPADをSTART()
    Dim シート名(16) As String
    Dim i  As Integer
    Dim strRec As String
    Dim SH As Worksheet
   
    Dim TargetFile As String
    Dim TargetFile2 As String
   
    Dim AAA As String
   
    AAA = Replace(ThisWorkbook.Name, ".xls", "", 1)
    MsgBox AAA
   
    TargetFile = ThisWorkbook.Path & "\" & _
                Replace(ThisWorkbook.Name, ".xls", "1234.txt", 1)
    TargetFile2 = """" & TargetFile & """"
               
    Open TargetFile For Output As #1
    '1回SAVEしてください
   
    i = 0
    For Each SH In Worksheets
        シート名(i) = SH.Name
        i = i + 1
    Next
   
    strRec = ""
    i = 0
    Do While シート名(i) <> ""
        strRec = strRec & シート名(i) & vbCrLf
        i = i + 1
    Loop
   
    Print #1, strRec;
   
    MsgBox strRec
    Close #1
   
    ' http://www.moug.net/tech/exvba/0060072.htm
    '拡張子関連づけでファイルを開く
    '感謝 ↑参照
        'テキストファイルを開く VBA
        'テキストファイルを起動 VBA
        '.txt を開く
        '.txtに関連付けされたテキストエディターが起動
    Dim WSH As Object
    Set WSH = CreateObject("Wscript.Shell")
    WSH.Run TargetFile2, 3
    Set WSH = Nothing
End Sub

Sub Ⅱ_TST()
    Dim TargetFile As String
    Dim TargetFile2 As String

    TargetFile = ThisWorkbook.Path & "\" & _
                Replace(ThisWorkbook.Name, ".xls", "1234.txt", 1)
    TargetFile2 = """" & TargetFile & """"
     
    'http://www.moug.net/faq/viewtopic.php?t=57516<消えてます20120110>
    'ExcelVBAから秀丸でテキストファイルを起動し、指定行にジャンプしたい
    '感謝 ↑参照

    Shell "notepad.exe " & TargetFile2, vbNormalFocus
End Sub

Sub Ⅲ_TST()
    Dim TargetFile As String
    Dim TargetFile2 As String

           
    TargetFile = ThisWorkbook.Path & "\" & _
                Replace(ThisWorkbook.Name, ".xls", "1234.txt", 1)
    TargetFile2 = """" & TargetFile & """"

    ' http://www.moug.net/tech/acvba/0090002.htm
    '電卓やメモ帳を起動する
    'windowstyle :vbNormalFocus の役割も記載されている


    '   (かんたんプログラミング Excel2000 VBA 応用編
    '    9章 他のソフトとの連携
    '      9-2 VBAで他のプログラムをリモートコントロールする
    '     にも記載されてました。)  
    Shell "notepad.exe ", vbNormalFocus
   
    '[Alt] + [F] + [O]キーを転送して[ファイルを開く]ダイアログを開く
    SendKeys "%FO", True
    '開くファイル名をキーコード転送で指定する
    SendKeys TargetFile2, True
    '[ENTER]キーを転送してファイルを開く
    SendKeys "{ENTER}", True

End Sub

<20120110追記 STA>

VBAでNotePad起動 指定行へ(2012年01月10日記事)
http://blog.goo.ne.jp/tkhs1732/e/65ab52fc4f11956736856bd669a52785

'「moug」様の記事が消えていました。
'秀丸だと多分、こんな感じでしょう。
'未確認です。試してません。
Sub NotePad_Start06()
  Dim PATH_hidemaru As String
  Dim myPath As String

  ' 「秀丸で行指定オープン」
  '  http://okwave.jp/qa/q5461880.html
  PATH_hidemaru = "C:\Program Files\Hidemaru\Hidemaru.exe "
  myPath = "F:\ブログ\ken_all201201\ken_all.csv"

  Shell PATH_hidemaru & " /j10 " & myPath, vbNormalFocus
  'か
  'Shell PATH_hidemaru & myPath & " /j10 ", vbNormalFocus
 
End Sub

<20120110追記 END>

ジャンル:
学習
コメント   この記事についてブログを書く
« EXCELで外部10進 | トップ | 現場お試し(1) »

コメントを投稿

EXCEL VBA」カテゴリの最新記事

関連するみんなの記事