プロが教えるわが家の防犯対策術!

今まで、メモ帳内の情報を一つ一つ開いてコピーしてエクセルに貼り付けておりました。

一つ一つ開いてコピーしてエクセルに貼り付け・・・

という作業が大変なので、これを一括でエクセルに貼り付ける方法があれば教えてください。
よろしくお願い致します。

A 回答 (6件)

「メモ帳内の情報を一つ一つ開いてコピー」(日本語が変?)は


"メモ帳を開いてはコピー"をメモ帳の数だけ繰り返すことですか?
YESなら、私もそうせざるを得ないと思ってます。
Excel に貼り付ける前に、複数のメモ帳を一枚に纏めておくにしても、複数のコピー操作を要するしィ~
    • good
    • 0

マクロを組めば簡単ですが・・・知識が無いと大変なことになりかねないのでやめた方がいいでしょう。



 近くにExcelのマクロを組める人がいるなら相談してみてください。

 私なら簡単にやる自信がありますが、さすがに最低限度の知識もない人にネット経由で教えてうまくやるほどの自信はありません。多分、プロのプログラマーでもやらないと思います。
    • good
    • 0

複数のテキストファイルをエクセルに張り付けるだけであれば、次のような操作で代用できると思います。

ただ、「テキストのこの部分をコピー」とか「XXシートのここへペースト」といったご希望は、一切無視です。

「ファイル」タブの「開く」から「ファイルを開く」ウインドウで、コピーしたいファイルを複数選択(Ctrlを押しながらファイル名をクリック)して、「開く」をクリックします。
選択したファイル数分の「テキストファイルウイザード」が表示されるので、すべて「完了」をクリックします。

別々のブックになってしまいますが、問題ないですよね?(質問にも特に指定は無かったし)。もし、必要であれば、1シートにまとめるマクロを組んでみて下さい。
    • good
    • 0

>メモ帳内の情報を一つ一つ開いてコピーして・・・


手順を変えて、
1) 複数のメモ帳を1つのメモ帳にまとめて、
2) そのメモ帳を開いてエクセルに張り付ける
のではいかが?
メモ帳を開くのは1回ですみますよ

1)はメモ帳の拡張子がtxt と仮定すると、コマンドプロンプトで「copy *.txt matome.txt」とタイプすればOKです。
    • good
    • 1

ご質問者さんは、どういう作業をしていらっしやるのか今のところはよくわからないのです。



 メモ帳内の情報とはどこにあるか?
 メモ帳のテキストファイルを限定しなければなりません。
 「 一つ一つ開いてコピーして」というのは、実際のテキスト・ファイルを開くことなのでしょうか?

閉じたメモ帳ならなんとか解決できますが、今度は、テキストファイルを全部を対象にというわけには行かないはずです。どれを限定するとか、もう少しお話を詳しく聞かせていただかないと、実現は不可能だと思います。

また、開いているメモ帳ということになると途端に難しくなります。

それに文字コードの問題もあります。SJIS, UTF-8, UTF-16(UNICODE)

私が想像しているものなら、そんなに簡単には行きません。

一番楽なのは、やはりご質問者さんの使っている(Excelの)クリップボードを経由する方法ではないかと考えています。この自動化というのは可能ではあるのですが、VBAマクロだけで収まるとは思いません。

いずれにしても、Evernoteのようなことをしたいとおっしゃっているわけだと思います。できれば、こうしたユーティリティー・ソフトウェアをお使いになったほうが楽ではないかと思います。
    • good
    • 0

こんばんは。



私がイメージしていたものを、今作ってみました。
メモ帳で開けているものの中身を、1つずつExcelに写すというマクロです。
閉じたメモ帳、つまりテキストファイルなら別な方法があります。
標準モジュールに貼り付けてください。

//
Option Explicit
Private Declare Function FindWindow Lib "user32" Alias "FindWindowA" (ByVal lpClassName As String, ByVal lpWindowName As String) As Long
Private Declare Function FindWindowEx Lib "user32.dll" Alias "FindWindowExA" (ByVal hWnd1 As Long, ByVal hWnd2 As Long, ByVal lpsz1 As String, ByVal lpsz2 As String) As Long
Private Const GW_HWNDNEXT = 2
Private Declare Function SendMessage Lib "user32" Alias "SendMessageA" (ByVal hWnd As Long, ByVal wMsg As Long, ByVal wParam As Long, lParam As Any) As Long
Private Declare Function OpenIcon Lib "user32" (ByVal hWnd As Long) As Long

Private Declare Function GetParent Lib "user32" (ByVal hWnd As Long) As Long
Private Declare Function IsWindowVisible Lib "user32" (ByVal hWnd As Long) As Long
Private Declare Function GetWindow Lib "user32" (ByVal hWnd As Long, ByVal wCmd As Long) As Long
Private Declare Function GetWindowThreadProcessId Lib "user32" (ByVal hWnd As Long, ByRef lpdwprocessid As Long) As Long

Private Const EM_SETSEL As Long = &HB1
Private Const WM_COPY As Long = &H301
Private Const WM_PASTE As Long = &H302

Sub GetOpenApp()
 Dim Process As Variant
 Dim oProcess As Object
 Dim hWnd As Long
 Dim hWnd_c As Long
 Dim Pid As Long
 Dim Ret As Long
 For Each Process In _
   GetObject("winmgmts:{impersonationLevel=impersonate}").ExecQuery( _
   "select * from Win32_Process where Name='NOTEPAD.EXE'")
  Set oProcess = Process
  Pid = oProcess.ProcessID
  hWnd = GetHwndFromPid(Pid)
  Ret = OpenIcon(hWnd)
  hWnd_c = FindWindowEx(hWnd, 0&, "Edit", vbNullString)
  Call SendMessage(hWnd_c, EM_SETSEL, 0&, -1&)
  Call SendMessage(hWnd_c, WM_COPY, 0&, 0&)
  ActiveSheet.Cells(Rows.Count, 1).End(xlUp).Offset(1).PasteSpecial
 Next
End Sub

Private Function GetHwndFromPid(ByVal Pid As Long) As Long
 Dim hWnd As Long
 hWnd = FindWindow(vbNullString, vbNullString)
 Do Until hWnd = 0
  If GetParent(hWnd) = 0 And IsWindowVisible(hWnd) <> 0 Then
   If Pid = GetPidFromHwnd(hWnd) Then
    GetHwndFromPid = hWnd
    Exit Do
   End If
  End If
  hWnd = GetWindow(hWnd, GW_HWNDNEXT)
 Loop
End Function

Private Function GetPidFromHwnd(ByVal hWnd As Long) As Long
 Dim Pid As Long
 Call GetWindowThreadProcessId(hWnd, Pid)
 GetPidFromHwnd = Pid
End Function
    • good
    • 0
この回答へのお礼

WindFallerさん
こんばんは!!

すごいです(^^)
本当にありがとうございます。
イメージ通りですよ!!
どうやったらできるんだろう・・・と悩んでいましたので助かりました。

閉じたメモ帳と記載されてますが、閉じた状態でもエクセルに貼り付けられるんですか?

お礼日時:2017/04/30 22:14

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

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