VBAに関する質問
VBA初心者のものですが、エクセル形式で保存されているいくつかのブックのシートの中身をテキストエディタ(MIFESというもの)に.csv形式で上から順に貼り付けていき保存するということは可能でしょうか?
例えば
workbooks("wb1").worksheets("data").range("a1:f1")が
1 2 3 4 5 6 7
workbooks("wb2").worksheets("data").range("a1:f1")が
8 9 10 11 12 13 14
という2つのブックが存在するなら
1,2,3,4,5,6,7,
8,9,10,11,12,13,14,
とテキストエディタにコピーしていく感じです。
イメージとして恐らく非常におかしなコードだと思いますが、
Sub test()
Dim wb As Workbook
Dim i As Integer, v As Integer
Dim OpenFilename As String, wc As String
dim ap as double
i = Application.InputBox("コピーしたいファイル数を記入してください", Type:=1)
ap = shell("MIW.exe")
For v = 1 To i
OpenFilename = Application.GetOpenFilename("Microsoft Excelブック,*.xls")
Workbooks.Open Filename:=OpenFilename
Set wb = ActiveWorkbook
wb.worksheets("data").range("a1:f1").copy
appactivate ap
sendkeys "^V", true
appaplication,wait now+timevalue("0:00:05")
appactivate application.caption
application.cutcopymode = false
next v
end sub
というような感じです。
最初、エクセルで一つのシートに対し貼り付け作業を行ったあと.csv形式で保存すればいいだろうと思っていたのですが、一つ一つのシートの容量が大きく、エクセルで処理できる容量をこえてしまいそのやり方では無理なようです。分かりにくいところなど多々あるとは思いますが、時間がございましたら、手助けとなるコードなり指摘なり示して頂ければと思います。宜しくお願いします。
お礼
ご回答ありがとうございます。 今回の事例はVBAのことです。 ご指摘の方法は以前使っていたこともあり懐かしさを感じました。 今後とも宜しくお願いします。