マクロについて教えてください。 初心者の為、文面がおかしい所が多々あるかと思いますが、教えていただけると助かります。 やりたい事としては、 ①私のpcから別のサーバーにあるファイルを見に行って、csvファイルを作成する。②前回作成したファイルは削除して新しいファイルをsaveasでコピーして保存する。 ③②で出来上がったcsvファイルをメモで開くと余分な0とかが出てくる為、もう一度ファイルを開いて上書き保存をしたい(←この作業で余分な0が消える) 最後の③の作業がうまい事マクロで組めません。 ➀②だけだったら問題なく動くんですが、③をしようと思うとexcelが閉じってしまって動作しなくなります。 下記記述は今しているマクロを抜粋しました、ファイル名などはtestとしています。 *印が入ってる部分が駄目なんだろなというのは何となくわかるんですが、マクロ難しすぎてわけがわかななくなってきました(;´・ω・) 下記記述も間違えてるかもしれませんが、こんなやり方もあるよーとかあれば教えていただきたいです。 よろしくお願い致します。 Sub test() ' ファイル インポート ' Range("A1").Select With ActiveSheet.QueryTables.Add(Connection:= _ "TEXT;\\サーバー名\c\test.csv", Destination:=Range("$A$1")) .Name = "test" 省略(ファイルの記述してます。) .TextFileColumnDataTypes = Array(1, 1, 1, 1, 1, 1, 2, 2, 2, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1) .TextFileTrailingMinusNumbers = True .Refresh BackgroundQuery:=False End With ' ファイル削除 Kill "\\サーバー名\c\test.csv" ' 5秒間 停止 waitTime = Now + TimeValue("0:00:05") Application.Wait waitTime ' ファイルコピー ThisWorkbook.SaveAs Filename:="\\サーバー名\c\test.csv", _ FileFormat:=xlCSV * Workbooks.Open Filename:="\\サーバー名\c\test.csv" * 'ファイルを上書き保存 * Workbooks("test.csv").Save * 'ファイルを閉じる * Workbooks("test.csv").Close ' 処理完了メッセージ 'MsgBox "終了しました", vbInformation + vbOKOnly ' ファイル保存せずに閉じる 'Application.DisplayAlerts = False 'Workbooks("test.csv").Close savechanges:=False 'Application.DisplayAlerts = True End Sub
Visual Basic