Excel (VBA)

Excel VBAに関するフォーラムです。
  • 掲示板への投稿には会員登録(無料)が必要です。会員登録がまだの方はこちら
  • 掲示板ご利用上のお願い」に反するご記入はご遠慮ください。
  • Q&A掲示板の使い方はこちらをご覧ください
トピックに返信
質問

 
(Windows 7 Professional : Excel 2013)
メモ帳へのデータの保存
投稿日時: 19/10/09 19:49:45
投稿者: taka217

新規でメモ帳を開き、指定した複数のセルのデータをメモ帳に張り付け、メモ帳に名前(特定のセル2+保存時の時間)を付けてデスクトップ上に保存したいのですがどのようにコードを書いたら良いか分かりません
よろしくお願いします。

回答
投稿日時: 19/10/09 20:31:21
投稿者: simple

メモ帳はExcelからコントロールする方法がありません。
(OfficeファミリーのWordのようにはいかない。機構が用意されていない。)
Application.SendKeysを使ってキーコードを送る方法もありますが、
タイミングが取りにくく、動作は保証できません。
 
どうするかと言えば、
新規のメモ帳ということでもあるので、
”Excelからテキストファイルを保存する"と考えたらどうですか?
結果は同じです。
 
【手順】
1. 新規シートを追加作成し、そこにセル内容を転記
2. 新しいブックに移動。
3. それをテキストファイルとして保存
という方法であれば、既存のブックに影響を与えずに、
希望の結果が得られると思います。
 
以下の項目を参考にして、トライしてみてください。
主要な部分はマクロ記録が大いに参考になるはずです。
 
■デスクトップフォルダを得る方法
[特殊フォルダを取得する]
http://officetanaka.net/excel/vba/tips/tips107.htm
■ファイル名
Format(now(),"yyyyMMDD_hh_mm") のような方法。

回答
投稿日時: 19/10/09 21:05:16
投稿者: simple

【手順】
4. 新たに作ったブック(テキストファイルとして保存済み)を閉じる。
が抜けていました。

回答
投稿日時: 19/10/25 00:17:51
投稿者: コレ

 メモ帳を開いた方が良いのでしょうか。
 あと、メモ帳でテキストファイルとして保存するのでしょうか。
 
 代替案として下記のコードを作ってみました。(編集は必要になります。)
 C1の値をファイル名、A1とB1はテキストファイルにカンマ区切りで書き込んでます。
 
'Windows Script Host Object Modelを参照設定
Sub test()
    Dim myNo As Integer
    Dim mFileName As String
    Dim myStr As String
    Dim myWs As New IWshRuntimeLibrary.WshShell
     
    myNo = FreeFile
    mFileName = myWs.SpecialFolders("Desktop") & "\" & Cells(1, 3).Value & Format(Now, "hh時mm分") & ".txt"
     
    Open mFileName For Output As #myNo
        Print #myNo, Cells(1, 1).Value & ","; Cells(1, 2).Value
    Close myNo
     
End Sub
 

トピックに返信