2017-03-16 6 views
3

せずにExcelワークブックのコピーを保存します。私は次のコードが含まれたマクロを含むExcel 2010テンプレートファイル持つマクロ

ActiveWorkbook.SaveAs Filename:= _ 
    newname, FileFormat:= _ 
    51, CreateBackup:=False 

これは、非マクロ有効ブックとして現在のブックを保存しますが、その後私明らかに私が必要とする残りのマクロを実行することはできません。

私はこれが構文エラーを生成

ActiveWorkbook.SaveCopyAs Filename:= _ 
    newname, FileFormat:= _ 
    51, CreateBackup:=False 

を使用しようとしました。私の目標はコピーを新しい名前で保存することです。そのため、テンプレートファイルは変更されず、毎日実行できます。

Dim wMacro As Workbook  'workbook you want to save 

    wMacro.Sheets(Array("all sheets name")).Select 
    wMacro.Sheets(Array("all sheets name")).Copy 
    ActiveWorkbook.SaveAs Filename:= "filename.xlsx", FileFormat:=xlOpenXMLWorkbook, CreateBackup:=False 

それはコピーを作成して保存します:

+0

なぜマクロが必要な場合は、非マクロ対応のワークックとして保存しますか?それはまったく意味がありません。そしてSaveAs実際に元のテンプレートファイルが残っているコピーを保存します。 –

+0

マクロの次の部分は新しいブックをとり、特定のメーリングリストに電子メールで送ります。非マクロ対応のブックとして保存すると、その部分は実行されません。 – mbald23

+0

これはこの方法では機能しません。これを解決するには、ヘルパーブックが必要です。マクロを持つワークブックAを持っているとします。このワークブックAは、テンプレートBを開き、それをB-copy(マクロなし)として保存してから、B-copyを電子メールで送信します。これはうまくいくでしょう。 –

答えて

2

はこれを試してみてください。

+0

ありがとう!私はこれが動作すると思います! – mbald23

関連する問題