dポイントプレゼントキャンペーン実施中!

excelマクロを用い複数個のファイルを作成する作業を行いたいです。
ファイルの作成そのものは実行できているのですが、その内容に関して
変更したい個所があります。
その変更の仕方がわからないので教えて頂きたいです。


Dim i As Integer
For i = 1 To 100
Workbooks.Add
Range("a1").Value = "[data,text]=xlsread('DS_0frac.xls','ds0_" & i & "')"
Range("a2").Value = "u="
Range("a3").Value = "n=data(u,2)"
Range("a4").Value = "a=data(u+n+1,2);b=data(u+n+1,3);c=data(u+n+1,4)"
Range("a5").Value = "x1=data(u+1,2);y1=data(u+1,3);z1=data(u+1,4)"
Range("a6").Value = "tank=b/a"
ChDir "C:\Documents and Settings\orner\My Documents\DS\m"
ActiveWorkbook.SaveAs Filename:= _
"C:\Documents and Settings\orner\My Documents\DS\m\flds0_" & i & ".m", _
FileFormat:=xlText, CreateBackup:=False
Windows("flds0_" & i & ".m").Close savechanges:=False
Next i
End Sub

上記のようなマクロを実行したところ得られるファイルの内容は以下のようになりました。

"[data,text]=xlsread('DS_0frac.xls','ds0_1')"
u=
"n=data(u,2)"
"a=data(u+n+1,2);b=data(u+n+1,3);c=data(u+n+1,4)"
"x1=data(u+1,2);y1=data(u+1,3);z1=data(u+1,4)"
tank=b/a

実際には1,3,4,5行目の " を省いた形での出力を望んでいます。
マクロ本文中で " を取り除いた場合には
複数エラーが発生し実行できません。
解決法について教えて頂きたいです。
宜しくお願いします。

A 回答 (1件)

単純にテキストファイルを作成するのではいかがでしょうか。

ご参考まで。

Sub test()
Dim FSO As Object
Dim i As Long

Set FSO = CreateObject("Scripting.FileSystemObject")
For i = 1 To 1
With FSO.CreateTextFile("C:\flds0_" & i & ".m")
.WriteLine "[data,text]=xlsread('DS_0frac.xls','ds0_" & i & "')"
.WriteLine "u="
.WriteLine "n=data(u,2)"
.WriteLine "a=data(u+n+1,2);b=data(u+n+1,3);c=data(u+n+1,4)"
.WriteLine "x1=data(u+1,2);y1=data(u+1,3);z1=data(u+1,4)"
.WriteLine "tank=b/a"
.Close
End With
Next i
Set FSO = Nothing
End Sub

参考URL:http://officetanaka.net/excel/vba/filesystemobje …
    • good
    • 0
この回答へのお礼

どうもありがとうございました。
ご回答頂いた内容、添付して頂いたサイトの内容ともにとても参考になりました。
今後活用させて頂きます。

お礼日時:2010/11/19 23:03

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