2016-06-20 7 views
0

私はVBAを使用してファイルを作成しようとしていますが、そのファイルに名前を付け、ファイル名に日付を埋め込みます。 「WB」は、新しく作成されたブックのために参照した場合のMacのエクセル2011で、それは...エクセル2016とエルキャピタンでFileのFileNameパラメータをどのように関数に入れることができますか?SaveAs?

wb.SaveAs Filename:="Old_New_Cust" & Cstr(Date) & ".xlsm", FileFormat:=52 

を言っても問題はなかっただろう、この特定の行ではというエラーを与えますファイルは私が決して見つけることができない9桁の数字として保存されています。

FileFormatパラメータを使用すると、エラーが発生するため、実験目的で削除しました。私はファイル名(日付を含む)全体を文字列変数に入れて実行しようとしました... wb.SaveAsファイル名:= xxx、:= FileFormat:= 52 xxxはファイル名を参照する引用符のない変数名です。これは、変数名をリテラルとして解釈します。

"\ FileNameString"、 "$ FileNameString"、 "FileNameString"、 "/ $ FileNameString"、Application.Evaluate(FileNameString)、[FileNameString]と同じ結果です。ファイルを保存できないというエラーメッセージが表示されたり、ファイルが9桁の整数として保存されたり、VBAが行を実行したりしません。

私はこれを動作させることができます唯一の方法は、 "Date"や "Cstr(Date)"などの関数を実行しようとせずにファイル名にリテラルを使用することです。誰かが、FileNameパラメータを使用している間に関数を実行する(私たちができるようにする)か、変数名から文字列を取得する方法を知っていますか?ここで

+0

workbook.saveas strFileName、xlFileFormat.xlExcel ..... –

+0

私は問題はデータ形式である疑いがある、私が使用するものです。 'wb.SaveAs Filename:=" Old_New_Cust "&Format(Date、" mm-dd-yyyy ")&" .xlsm "'を試してみてください。 – Rory

+0

ロリー、迅速な対応に感謝します。それは素晴らしい仕事でした。ソリューションに感謝します。申し訳ありませんが、私はcredditによって提出された他のアイデアを試してみる機会がありませんでしたが、私はそれを試して、それがどのように動作するかを見ていきます。 – OldDev5724

答えて

0

Sub G5() 
Dim Path As String 
Dim filename As String 
Path = "C:\Users\ME\Documents\Testing\" & _ 
       Range("G5") & "\" & theMonth & "\" 'change this path to whatever destination you want the files saved to 
filename = Range("G5") 
ActiveWorkbook.SaveAs filename:=Path & filename & "-" & Format(Date, "mmddyyyy") & ".xlsm", FileFormat:=52 
End Sub 
関連する問題