[go: up one dir, main page]
More Web Proxy on the site http://driver.im/

電子書籍の厳選無料作品が豊富!

以下のURLの質問に答えて頂けると幸いです。
https://detail.chiebukuro.yahoo.co.jp/qa/questio …
教えて頂けると幸いです。

質問者からの補足コメント

  • 方法2と方法3をもう少し分かりやすく言葉を変えて教えて頂けると幸いです。

    No.1の回答に寄せられた補足コメントです。 補足日時:2024/11/24 13:27
  • すみません。全ての最後の行の書き込むファイル名〜の所が分かりません。教えて頂けると幸いです。

    No.2の回答に寄せられた補足コメントです。 補足日時:2024/11/24 13:46
  • すみません。ついでに方法1もマクロも教えて頂けると幸いです。

    No.3の回答に寄せられた補足コメントです。 補足日時:2024/11/24 15:00

A 回答 (4件)

>ついでに方法1もマクロも教えて頂けると幸いです。


以下のようになります。

Public Sub Sub1()
Dim file_name As String
Dim file_path As String
file_name = "sample.txt"
If file_name = "" Then
MsgBox ("中止します")
Exit Sub
End If
file_path = ThisWorkbook.path & "\" & file_name
Open file_path For Output As #1
Print #1, "Sub1 あいうえお"
Close #1
End Sub
    • good
    • 0

以下のマクロを登録してください。


方法2がSub2になります。
Sub2を実行すると、「ファイル名を入力してください」のダイアログが表示されるので、そこに「sample.txt」と入力し、OKをクリックします。
そうすると、sample.txtのファイルが作成されます。
その内容は「Sub2 あいうえお」となっています。
注意:Sub2の関数が出力したことが分かるように、
書き出した文字列の先頭をSub2にしています。

方法3がSub3になります。
まず、A1セルにsample.txtと入力しておいてください。
Sub3を実行すると、sample.txtのファイルが作成されます。
その内容は「Sub3 あいうえお」となっています。
注意:Sub3の関数が出力したことが分かるように、
書き出した文字列の先頭をSub3にしています。

Sub2では
file_name = InputBox("ファイル名を入力してください")
でファイル名を取得します。
Sub3では、
file_name = Range("A1").Value
でファイル名を取得します。
ファイル名を取得した後は、Sub2とSub3は、全く同じ処理であることに
注目してください。(書き出す内容のみ、Sub2とSub3の違いがあります)


--------------------------------------------
Public Sub Sub2()
Dim file_name As String
Dim file_path As String
file_name = InputBox("ファイル名を入力してください")
If file_name = "" Then
MsgBox ("中止します")
Exit Sub
End If
file_path = ThisWorkbook.path & "\" & file_name
Open file_path For Output As #1
Print #1, "Sub2 あいうえお"
Close #1
End Sub

Public Sub Sub3()
Dim file_name As String
Dim file_path As String
file_name = Range("A1").Value
If file_name = "" Then
MsgBox ("中止します")
Exit Sub
End If
file_path = ThisWorkbook.path & "\" & file_name
Open file_path For Output As #1
Print #1, "Sub3 あいうえお"
Close #1
End Sub
この回答への補足あり
    • good
    • 0

>方法2と方法3をもう少し分かりやすく言葉を変えて教えて頂けると幸いです。



どの辺がわからないでしょうか。わからないところを具体的に提示していただけませんでしょうか。
この回答への補足あり
    • good
    • 0

>以下の写真で、セルにあらかじめ入力されている値を使う方法とは、どういう方法でしょうか?



例えば、あるファイルにデータを書き出すとき、そのファイル名をどのように指定するかということの1つの方法です。
ファイル名が"sample.txt"だとすると、これをマクロにどう指定するかです。
方法1:
永久に"sample.txt"を採用し、変える必要がないなら
file_name = "sample.txt"
とし、書き込むファイル名として、file_nameを使います。

方法2:
毎回、ファイル名を変えて出力したいなら、
ダイアログを表示して、「sample.txt」と入力してもらい、その値を使用します。
file_name = InputBox("ファイル名を入力してください")
上記のようにすると、オペレータが入力した値が、file_nameに設定されます。
そして、書き込むファイル名として、file_nameを使います。

方法3:
毎回、ファイル名が変わるというわけではないが、今後、変わるかもしれないような場合は、あらかじめ、どこかのセル(例えばA1とします)に、
「sample.txt」と設定しておき、そのセルの内容をファイル名とします。
file_name = range("A1").value
とすると、A1セルの内容がfile_nameに設定されます。
そして、書き込むファイル名として、file_nameを使います。


上記の方法3が「セルにあらかじめ入力されている値を使う方法」になります。どの方法を採用するかは、マクロの作成者が決めます。
この回答への補足あり
    • good
    • 0

お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!

このQ&Aを見た人はこんなQ&Aも見ています


このQ&Aを見た人がよく見るQ&A