質問編集履歴
5
コードを質問文に記載
    
        title	
    CHANGED
    
    | 
         
            File without changes
         
     | 
    
        body	
    CHANGED
    
    | 
         @@ -51,3 +51,71 @@ 
     | 
|
| 
       51 
51 
     | 
    
         
             
            もっとも、現状としてはテキストファイルが指定のフォルダに作成はできるものの、中身が記載されていない状態です。
         
     | 
| 
       52 
52 
     | 
    
         
             
            可能であれば、VBAマクロのコード内容をご確認いただき誤っている箇所がありましたらご教示いただけますでしょうか。
         
     | 
| 
       53 
53 
     | 
    
         
             
            お手数をお掛けしますが、何卒宜しくお願い致します。
         
     | 
| 
      
 54 
     | 
    
         
            +
             
     | 
| 
      
 55 
     | 
    
         
            +
            >can110様、その他有識者様
         
     | 
| 
      
 56 
     | 
    
         
            +
            textファイルは指定のディレクトリに作成できたのですが、中身が記載されておりませんでした。
         
     | 
| 
      
 57 
     | 
    
         
            +
            もし、何か原因等わかる場合、ご教示いただけますでしょうか。
         
     | 
| 
      
 58 
     | 
    
         
            +
            尚、エクセル側の記載については大元の依頼文を編集しましたのでご確認いただければ幸いです。
         
     | 
| 
      
 59 
     | 
    
         
            +
             
     | 
| 
      
 60 
     | 
    
         
            +
            --------------
         
     | 
| 
      
 61 
     | 
    
         
            +
            Enum col '列番号を定義
         
     | 
| 
      
 62 
     | 
    
         
            +
            HOST名 = 1
         
     | 
| 
      
 63 
     | 
    
         
            +
            IPアドレス = 2
         
     | 
| 
      
 64 
     | 
    
         
            +
            ポート番号 = 3
         
     | 
| 
      
 65 
     | 
    
         
            +
            ユーザー名 = 4
         
     | 
| 
      
 66 
     | 
    
         
            +
            パスワード = 5
         
     | 
| 
      
 67 
     | 
    
         
            +
            End Enum
         
     | 
| 
      
 68 
     | 
    
         
            +
             
     | 
| 
      
 69 
     | 
    
         
            +
            Sub main()
         
     | 
| 
      
 70 
     | 
    
         
            +
             
     | 
| 
      
 71 
     | 
    
         
            +
            Dim ws As Worksheet
         
     | 
| 
      
 72 
     | 
    
         
            +
            Set ws = ThisWorkbook.Sheets("sheet1")
         
     | 
| 
      
 73 
     | 
    
         
            +
             
     | 
| 
      
 74 
     | 
    
         
            +
            Dim fileSysObj
         
     | 
| 
      
 75 
     | 
    
         
            +
            'ファイルシステムオブジェクトの生成
         
     | 
| 
      
 76 
     | 
    
         
            +
            Set fileSysObj = CreateObject("Scripting.FileSystemObject")
         
     | 
| 
      
 77 
     | 
    
         
            +
             
     | 
| 
      
 78 
     | 
    
         
            +
            Dim textFileObj
         
     | 
| 
      
 79 
     | 
    
         
            +
            'テキストファイルオブジェクトの生成
         
     | 
| 
      
 80 
     | 
    
         
            +
            Set textFileObj = fileSysObj.CreateTextFile("C:\Users\XXXXXi\Desktop\test\test.txt", True)
         
     | 
| 
      
 81 
     | 
    
         
            +
             
     | 
| 
      
 82 
     | 
    
         
            +
            Dim r As Long, lastRow As Long
         
     | 
| 
      
 83 
     | 
    
         
            +
            lastRow = ws.Cells(1, 1).End(xlDown).Row
         
     | 
| 
      
 84 
     | 
    
         
            +
             
     | 
| 
      
 85 
     | 
    
         
            +
            For r = 2 To lastRow
         
     | 
| 
      
 86 
     | 
    
         
            +
             
     | 
| 
      
 87 
     | 
    
         
            +
            'テキストオブジェクト作成
         
     | 
| 
      
 88 
     | 
    
         
            +
            Set fs = CreateObject("Scripting.FileSystemObject")
         
     | 
| 
      
 89 
     | 
    
         
            +
             
     | 
| 
      
 90 
     | 
    
         
            +
            'テキスト本文の文字列を作成
         
     | 
| 
      
 91 
     | 
    
         
            +
            Dim textBody As String
         
     | 
| 
      
 92 
     | 
    
         
            +
            textBody = CreateTextBody(ws, r)
         
     | 
| 
      
 93 
     | 
    
         
            +
             
     | 
| 
      
 94 
     | 
    
         
            +
            Next r
         
     | 
| 
      
 95 
     | 
    
         
            +
             
     | 
| 
      
 96 
     | 
    
         
            +
            End Sub
         
     | 
| 
      
 97 
     | 
    
         
            +
             
     | 
| 
      
 98 
     | 
    
         
            +
            ' 機能:Excelシート上の指定行番号のテキスト本文を作成する
         
     | 
| 
      
 99 
     | 
    
         
            +
            Function CreateTextBody(ws As Worksheet, r As Long) As String
         
     | 
| 
      
 100 
     | 
    
         
            +
             
     | 
| 
      
 101 
     | 
    
         
            +
            Dim Hostname As String, IPaddress As String, Port As String, Username As String, Password As String
         
     | 
| 
      
 102 
     | 
    
         
            +
            Hostname = ws.Cells(r, col.HOST名).Value
         
     | 
| 
      
 103 
     | 
    
         
            +
            IPaddress = ws.Cells(r, col.IPアドレス).Value
         
     | 
| 
      
 104 
     | 
    
         
            +
            Port = ws.Cells(r, col.ポート番号).Value
         
     | 
| 
      
 105 
     | 
    
         
            +
            Username = ws.Cells(r, col.ユーザー名).Value
         
     | 
| 
      
 106 
     | 
    
         
            +
            Password = ws.Cells(r, col.パスワード).Value
         
     | 
| 
      
 107 
     | 
    
         
            +
             
     | 
| 
      
 108 
     | 
    
         
            +
            Dim body As String 'テキスト本文
         
     | 
| 
      
 109 
     | 
    
         
            +
            body = Replace(body, "(HOST名)", Hostname)
         
     | 
| 
      
 110 
     | 
    
         
            +
            body = Replace(body, "(IPアドレス)", IPaddress)
         
     | 
| 
      
 111 
     | 
    
         
            +
            body = Replace(body, "(ポート番号)", Port)
         
     | 
| 
      
 112 
     | 
    
         
            +
            body = Replace(body, "(ユーザー名)", Username)
         
     | 
| 
      
 113 
     | 
    
         
            +
            body = Replace(body, "(パスワード)", Password)
         
     | 
| 
      
 114 
     | 
    
         
            +
             
     | 
| 
      
 115 
     | 
    
         
            +
            CreateTextBody = body
         
     | 
| 
      
 116 
     | 
    
         
            +
             
     | 
| 
      
 117 
     | 
    
         
            +
            End Function
         
     | 
| 
      
 118 
     | 
    
         
            +
            Sub ttl作成()
         
     | 
| 
      
 119 
     | 
    
         
            +
             
     | 
| 
      
 120 
     | 
    
         
            +
            End Sub
         
     | 
| 
      
 121 
     | 
    
         
            +
            --------------
         
     | 
4
依頼文の修正
    
        title	
    CHANGED
    
    | 
         
            File without changes
         
     | 
    
        body	
    CHANGED
    
    | 
         @@ -40,12 +40,14 @@ 
     | 
|
| 
       40 
40 
     | 
    
         
             
            waitregex '^HOST名.*#'
         
     | 
| 
       41 
41 
     | 
    
         
             
            sendln "コマンド4"
         
     | 
| 
       42 
42 
     | 
    
         | 
| 
       43 
     | 
    
         
            -
            < 
     | 
| 
      
 43 
     | 
    
         
            +
            <Sheet1>
         
     | 
| 
       44 
     | 
    
         
            -
            
         
     | 
| 
       45 
45 
     | 
    
         | 
| 
       46 
     | 
    
         
            -
             
     | 
| 
      
 46 
     | 
    
         
            +
            VBAマクロを実行した結果、HOST1~10に対する『HOST名_IPアドレス.ttl』が作成を実現したいです。
         
     | 
| 
       47 
     | 
    
         
            -
            
         
     | 
| 
       48 
47 
     | 
    
         | 
| 
      
 48 
     | 
    
         
            +
            コメントをくださったcan110様から以下のURLを参考に作成可能というお話をいただきコードを作成しています。
         
     | 
| 
      
 49 
     | 
    
         
            +
            参考URL:https://moripro.net/vba-outlook-createmail/
         
     | 
| 
      
 50 
     | 
    
         
            +
             
     | 
| 
       49 
     | 
    
         
            -
             
     | 
| 
      
 51 
     | 
    
         
            +
            もっとも、現状としてはテキストファイルが指定のフォルダに作成はできるものの、中身が記載されていない状態です。
         
     | 
| 
       50 
     | 
    
         
            -
            可能であれば、VBAマクロのコード内容をご確認いただけますでしょうか。
         
     | 
| 
      
 52 
     | 
    
         
            +
            可能であれば、VBAマクロのコード内容をご確認いただき誤っている箇所がありましたらご教示いただけますでしょうか。
         
     | 
| 
       51 
53 
     | 
    
         
             
            お手数をお掛けしますが、何卒宜しくお願い致します。
         
     | 
3
依頼文の編集
    
        title	
    CHANGED
    
    | 
         
            File without changes
         
     | 
    
        body	
    CHANGED
    
    | 
         @@ -47,6 +47,5 @@ 
     | 
|
| 
       47 
47 
     | 
    
         
             
            
         
     | 
| 
       48 
48 
     | 
    
         | 
| 
       49 
49 
     | 
    
         
             
            VBAマクロを実行した結果、HOST1~10に対する『HOST名_IPアドレス.ttl』が作成される想定です。
         
     | 
| 
       50 
     | 
    
         
            -
            可能であれば、VBAマクロのコード内容を 
     | 
| 
      
 50 
     | 
    
         
            +
            可能であれば、VBAマクロのコード内容をご確認いただけますでしょうか。
         
     | 
| 
       51 
     | 
    
         
            -
            中身を拝見させていただければ自分で調べて内容は理解できると思っています。
         
     | 
| 
       52 
51 
     | 
    
         
             
            お手数をお掛けしますが、何卒宜しくお願い致します。
         
     | 
2
pythonでの実行からVBAマクロによる実行に変更
    
        title	
    CHANGED
    
    | 
         @@ -1,1 +1,1 @@ 
     | 
|
| 
       1 
     | 
    
         
            -
            エクセル内のIPアドレスやポート、ホスト名、コマンドを 
     | 
| 
      
 1 
     | 
    
         
            +
            エクセル内のIPアドレスやポート、ホスト名、コマンドをVBAマクロを用いて、teratermマクロの内容に沿って出力し、 ログ収集用のteratermマクロを作成する方法
         
     | 
    
        body	
    CHANGED
    
    | 
         
            File without changes
         
     | 
1
Pythonでの実行からVBAマクロでの実行に変更
    
        title	
    CHANGED
    
    | 
         
            File without changes
         
     | 
    
        body	
    CHANGED
    
    | 
         @@ -1,10 +1,10 @@ 
     | 
|
| 
       1 
1 
     | 
    
         
             
            ### 前提
         
     | 
| 
       2 
2 
     | 
    
         
             
            経験の浅いネットワークエンジニアです。
         
     | 
| 
       3 
3 
     | 
    
         | 
| 
       4 
     | 
    
         
            -
            エクセル内のIPアドレスやポート、ホスト名、コマンドを 
     | 
| 
      
 4 
     | 
    
         
            +
            エクセル内のIPアドレスやポート、ホスト名、コマンドをVBAマクロを用いて、teratermマクロの形式に沿って出力し、
         
     | 
| 
       5 
5 
     | 
    
         
             
            ログ収集用のteratermマクロを作成したいです。
         
     | 
| 
       6 
6 
     | 
    
         | 
| 
       7 
     | 
    
         
            -
             
     | 
| 
      
 7 
     | 
    
         
            +
            VBAマクロを用いて以下のteratermマクロのフォーマットにエクセル内の各データを変数として出力し、
         
     | 
| 
       8 
8 
     | 
    
         
             
            teratermマクロのファイルを『HOST名_IPアドレス.ttl』のような形で必要分作成したい。
         
     | 
| 
       9 
9 
     | 
    
         | 
| 
       10 
10 
     | 
    
         
             
            <変数(エクセルから引っ張りたいデータ)>
         
     | 
| 
         @@ -46,7 +46,7 @@ 
     | 
|
| 
       46 
46 
     | 
    
         
             
            <test.xlsxのSheet2>※コマンドについてはsheet2のデータを参照するようにしたい
         
     | 
| 
       47 
47 
     | 
    
         
             
            
         
     | 
| 
       48 
48 
     | 
    
         | 
| 
       49 
     | 
    
         
            -
             
     | 
| 
      
 49 
     | 
    
         
            +
            VBAマクロを実行した結果、HOST1~10に対する『HOST名_IPアドレス.ttl』が作成される想定です。
         
     | 
| 
       50 
     | 
    
         
            -
            可能であれば、 
     | 
| 
      
 50 
     | 
    
         
            +
            可能であれば、VBAマクロのコード内容を作成していただけますでしょうか。
         
     | 
| 
       51 
51 
     | 
    
         
             
            中身を拝見させていただければ自分で調べて内容は理解できると思っています。
         
     | 
| 
       52 
52 
     | 
    
         
             
            お手数をお掛けしますが、何卒宜しくお願い致します。
         
     |