2012-05-07 5 views
2

SaveAsメソッドを使用して、.csvファイルを.xlsファイルとして保存しようとしています。ただし、フォルダを指定しようとすると失敗します。例えばvbaの別のディレクトリに.xlsxとして保存

、それはいくつかのデフォルトのディレクトリ(マイドキュメント、私はから準備ができているところはありません)ここに保存されます:

Sub csv() 
Workbooks.Open Filename:="directory/tmp.csv" 
ActiveWorkbook.SaveAs Filename:="test.xlxs", FileFormat:=51, CreateBackup:=False 
End Sub 

しかし、これは失敗します。

Sub csv() 
Workbooks.Open Filename:="directory/tmp.csv" 
ActiveWorkbook.SaveAs Filename:="otherdirectory/test.xlxs", FileFormat:=51, CreateBackup:=False 
End Sub 

があります別の方法は、ディレクトリを指定するには?

答えて

4

使用FileFormat:=xlCSV

これは私のために動作します。

ActiveWorkbook.SaveAs Filename:="C:\test.csv", FileFormat:=6, CreateBackup:=False 

疑いで、マクロを記録するたびに:)

FileFormat定数はxlCSVです。あなたはFileFormat:=xlCSVを入力することもできますし、それは私はあなたが質問:)私は再びそれ見ていきましょう:)

を編集したことがわかり6

EDIT

あり、実際の値だ使用することができますどちらか

ディレクトリを指定する別の方法はありますか?おかげで、

あなたが指定している正確なパスとは何ですか?私はFilename:="C:\Users\Siddharth Rout\Desktop\Book1.xlsx"を使用し、それは完全に動作します。

+0

私はこのコードで投稿を更新しました。 – mike

+0

スラッシュを逆にして、もう一度やり直してください:) C:\ Users \ mikefree \ Desktop \ test.xlsx " –

+0

十分に感謝しています。申し訳ありませんが、私は問題なく前にスラッシュを使用しました。 – mike

0

シダースが示唆していることは、パス全体を書き出してディレクトリを指定することです。 ユーザーがディレクトリにファイルを変更することができる持っていると思った場合はまた、あなたが使用することができます保存するときに保存されているに:ファイルパスが開始ディレクトリになり

CHDRIVE(filePathに) ChDir関数(filePathに)

Application.GetSaveAsFilenameで使用するユーザーは、必要に応じて、ファイルの名前を入力するか、ディレクトリを変更することができます。

関連する問題