タイトルだけではわかりづらいかもしれません。
Chat-GPTに聞いたのですが、ちゃんと意図を汲み取ってもらえなかたのか、思ったようなマクロを作ってくれませんでした。
どんなマクロを組めば思った動作してくれますか?
因みにマクロ記述はできないので、Chat-GPTに聞いたり、「マクロの記録」を使ったりする程度の知識しかありません。
質問(Chat-GPTにも同じ内容で聞いています)
--<質問>------------------------
エクセルで次のマクロ作って
・windowsアクセサリのメモ帳を開く
・エクセルのsheet1のA5セルからA11セルまでをテキストデータとしてクリップボードにコピーする
・クリップボードの内容を先に開いたメモ帳にテキストデータとして貼り付ける
・メモ帳をcp.batというファイル名でC:\TEST内のファイルを上書きする
--<回答>------------------------
ChatGPT
以下が、指定された要件に基づいてExcel VBAで作成されたマクロです。このマクロは、メモ帳を開き、A5からA11のセルのデータをクリップボードにコピーしてメモ帳に貼り付け、最後に指定のファイルパスにある既存の cp.bat ファイルを上書きします。
~~~~~~~~~~~~~
Sub OpenNotepadCopyPasteAndOverwriteFile()
Dim textData As String
Dim notepadPath As String
Dim filePath As String
' メモ帳のパス
notepadPath = "notepad.exe"
' アクセサリのメモ帳を開く
Shell notepadPath, vbNormalFocus
' A5からA11のセルを取得してテキストデータに結合
For i = 5 To 11
textData = textData & Range("A" & i).Value & vbCrLf
Next i
' クリップボードにコピー
With CreateObject("Forms.DataObject")
.SetText textData
.PutInClipboard
End With
' メモ帳にクリップボードの内容を貼り付け
Application.Wait Now + TimeValue("00:00:02") ' 2秒待機
SendKeys "^v" ' Ctrl + V
' ファイルのパス
filePath = "C:\TEST\cp.bat"
' メモ帳を保存
Application.Wait Now + TimeValue("00:00:02") ' 2秒待機
SendKeys "^s" ' Ctrl + S
Application.Wait Now + TimeValue("00:00:02") ' 2秒待機
SendKeys filePath
Application.Wait Now + TimeValue("00:00:02") ' 2秒待機
SendKeys "~" ' Enter
' メモ帳を閉じる
Application.Wait Now + TimeValue("00:00:02") ' 2秒待機
SendKeys "^w" ' Ctrl + W
End Sub
~~~~~~~~~~~~~
No.3
- 回答日時:
こんばんは
「エクセルでマクロ」とのご質問ですが、「他のソフトを制御する」という内容自体がそもそものマクロの範疇を超えています。
(できないことはないですけれど・・)
Chat-GPTは、質問者様の指示に従ってコードを作成しようと努力しているように見えます。
(残念ながら、思ったようには動作しないようですけれど・・)
質問者様のご指示は無視してマクロの範疇で処理すれば、簡単なテキスト出力で済むと思います。
※ 記載がないので、文字コードはなりゆき(=ANSI)です。
(文字コードを変えたい場合には、得意のChat-GPTにお尋ねください)
Sub Sample()
Dim rw As Long
Const dataPath = "C:\TEST\cp.bat"
Open dataPath For Output As #1
For rw = 5 To 11
Print #1, Cells(rw, 1).Text
Next rw
Close #1
End Sub
ありがとうございます!
私のやりたいことが、こんな短い記述でできるとは!!
やりたいことの意図まで汲み取っていただき、ありがとうございました。
No.2
- 回答日時:
質問をちょっとだけいじっています。
また、生成したコードでは名前をつけて保存で終わってたので、閉じるようにしてます。
--<質問>------------------------
・Excel VBAマクロ作って
・エクセルのsheet1のA5セルからA11セルまでをテキストデータとしてクリップボードにコピーする
・windowsアクセサリのメモ帳を開く
・クリップボードの内容を先に開いたメモ帳にテキストデータとして貼り付ける
・メモ帳をcp.batというファイル名でC:\TEST内のファイルを上書きする
--<回答>------------------------
Sub CopyToNotepadAndSaveAsBat()
Dim dataRange As Range
Dim clipText As String
Dim filePath As String
' クリップボードにコピーするデータの範囲を指定
Set dataRange = Sheets("Sheet1").Range("A5:A11")
' セル範囲のテキストをクリップボードにコピー
dataRange.Copy
' メモ帳を開く
Shell "notepad.exe", vbNormalFocus
' 少し待つ(メモ帳が開かれるまで時間がかかる場合があるため)
Application.Wait (Now + TimeValue("0:00:02"))
' クリップボードの内容を貼り付け
SendKeys "^v", True
' 少し待つ(貼り付けが完了するまで時間がかかる場合があるため)
Application.Wait (Now + TimeValue("0:00:02"))
' ファイルパスを設定
filePath = "C:\TEST\cp.bat"
' ファイルを上書き保存
SaveToFile filePath
MsgBox "マクロが完了しました。", vbInformation
End Sub
Sub SaveToFile(filePath As String)
' ファイルが存在する場合は削除
If Dir(filePath) <> "" Then
Kill filePath
End If
' メモ帳の内容をファイルに保存
AppActivate "メモ帳"
' SendKeys "%(fa)", True
SendKeys "%(fxs)", True
SendKeys filePath, True
SendKeys "%(fs)", True
End Sub
No.1
- 回答日時:
ChatGPTが生成したVBAは、貴方が質問した通りの出来栄えです。
AIはまだ、「行間を読む」所まで進化していませんから、もっと具体的な仕様を提示しないと、思った通りコーディングをしてくれません。
貴方が何を欲しいのかは、この質問文では私にもChatGPT同様に不明です。
ご回答ありがとうございます。
>この質問文では私にもChatGPT同様に不明です
わかりづらい質問文になっているんですね。
マクロでなく手動でやろうとすれば次のようになります。
エクセルファイル、sheet1のA5からA11にテキストデータが入力されている前提で、
・メモ帳を開く
・エクセルのA5セルからA11セルをctrl+Cでコピーする
・メモ帳にctrl+vでペーストする
・メモ帳をc:\test\cp.batのネーミングで保存(既にcp.batがある場合は上書き保存)するなんですが...
よろしかったら、再度ご回答いただけませんでしょうか?
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
似たような質問が見つかりました
- Visual Basic(VBA) クリップボードに貼付している文字列が、マクロで別ブックへ転記すると、消えてしまう 1 2023/10/15 13:36
- Visual Basic(VBA) ExcelのVBAコードについて教えてください。 1 2023/09/21 13:01
- Excel(エクセル) 3つのマクロを連続実行の中で、1つ目のマクロ要件を満たさなかったら、マクロ2・3を実行しない為には 1 2023/10/15 13:42
- Visual Basic(VBA) ExcelのVBAコードについて教えてください。 1 2023/08/09 10:33
- Excel(エクセル) 【マクロ】スクショ印刷がうまく動かない件 5 2022/12/06 17:37
- Visual Basic(VBA) VBAのユーザーフォームのテキストボックスに入力制限をしたい 6 2022/11/15 08:28
- その他(Microsoft Office) マクロVBAについて 1 2022/09/06 18:12
- Excel(エクセル) 【マクロ】PasteSpecialメソッドにて、コードが動かない理由が分かりません 2 2023/08/15 20:47
- Visual Basic(VBA) 【ご教示ください】VBAの記述方法がわかりません。 2 2022/08/12 21:28
- Visual Basic(VBA) 【前回の続きです、ご教示ください】VBAの記述方法がわかりません。 2 2022/08/16 16:44
このQ&Aを見た人はこんなQ&Aも見ています
-
「どうして捨てられないの?」前妻の物を捨てられない男性の心理って?
前妻の物を捨てられない理由に加え、捨てるための手段はあるのかを専門家に聞いてみた!
-
Excelの関数に関する質問です
Excel(エクセル)
-
Excel関数かなにかでスムーズに処理するにはあなたならどうしますか?
Excel(エクセル)
-
Excelでこういう年を切り替えられる簡易なカレンダーを作ったのですが、 年や月を変えると、色が付い
Excel(エクセル)
-
-
4
なぜか「Nextに対応するForがありません」
Excel(エクセル)
-
5
VBA(えくせる)ってなんでメンテできない人が多いんですか?
Excel(エクセル)
-
6
エクセルで⑤番の操作が分かりません。どういう関数が良いんですか?
Excel(エクセル)
-
7
Excelで男女や有無など丸囲みする資料で〇を挿入してカーソルで微調整し有無に丸囲みを実施しておりま
Excel(エクセル)
-
8
複数エクセルファイルの合成
Excel(エクセル)
-
9
Googleシートでマクロ
Excel(エクセル)
-
10
VBAコードが作動しません。修正したいのですが何処に原因かあるか教えて下さい。
Visual Basic(VBA)
-
11
勤務表について
Excel(エクセル)
-
12
エクセルで相対パスの書き方を教えてください
Excel(エクセル)
-
13
エクセルのマクロ
Excel(エクセル)
-
14
エクセルのセル統合について
Excel(エクセル)
-
15
同じ型【ハイフンと数字】だけ抜き出す関数について
Excel(エクセル)
-
16
IF(EXACT(B1,B2),一致","不一致") 関数にて、一致なら青、不一致なら赤のやりかた"
その他(Microsoft Office)
-
17
“丸(〇/○/◯)”に似た文字…
Excel(エクセル)
-
18
SUMIFでの判定条件が異なるために正確に計算されない
Excel(エクセル)
-
19
excelの不要な行の削除ができない!
Excel(エクセル)
-
20
同じ型【ハイフンと数字】をぶつけて、イコールである事を証明する関数はありますか?
Excel(エクセル)
関連するカテゴリからQ&Aを探す
おすすめ情報
このQ&Aを見た人がよく見るQ&A
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
エクセル終了時の保存確認メッ...
-
EXCEL マクロ クリップボードク...
-
エクセルマクロを有効にしない...
-
VBA マクロ実行時エラー’1004Ra...
-
【マクロ】エラーが発生⇒実行時...
-
VBAを一度起動するとずっと出て...
-
エクセルファイルを自身のファ...
-
昨日まで動いていたエクセルの...
-
エクセルマクロにてパワーポイ...
-
別のパソコンでエクセルのマク...
-
Excel2010 PERSONAL.xlsbの挙動...
-
Excelが勝手にシート移動してし...
-
コピーしたファイルのマクロを...
-
excelのマクロ実行でブロックさ...
-
エクセル2013vbaで、見えない名...
-
EXCELで日付を自動でファイル名...
-
秀丸で保存時のフォルダを固定...
-
アクセスでファイルを開いたと...
-
マクロが使えるExcelViewer
-
エクセルマクロ実行中に別ファ...
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
エクセル終了時の保存確認メッ...
-
excelファイルに使われているVB...
-
VBA マクロ実行時エラー’1004Ra...
-
コピーしたファイルのマクロを...
-
昨日まで動いていたエクセルの...
-
別のパソコンでエクセルのマク...
-
VBAを一度起動するとずっと出て...
-
マクロを消すマクロは不可能?
-
エクセルファイルを自身のファ...
-
アクセスでファイルを開いたと...
-
EXCEL マクロ クリップボードク...
-
Excelが勝手にシート移動してし...
-
Excelマクロ ファイル名が変わ...
-
excelが別プロセスで起動してし...
-
Excel2010 PERSONAL.xlsbの挙動...
-
エクセルマクロを有効にしない...
-
エクセル2013vbaで、見えない名...
-
エクセルマクロにてパワーポイ...
-
【マクロ】アクティブセルの行...
-
excelのマクロ実行でブロックさ...
おすすめ情報