Excel (VBA)

Excel VBAに関するフォーラムです。
  • 掲示板への投稿には会員登録(無料)が必要です。会員登録がまだの方はこちら
  • 掲示板ご利用上のお願い」に反するご記入はご遠慮ください。
  • Q&A掲示板の使い方はこちらをご覧ください
トピックに返信
質問

 
(Windows 8 : Excel 2016)
エクセル2016のファイルで保存
投稿日時: 17/12/07 14:18:51
投稿者: 丘珠

下記コードでセル名をつけてファイル保存しておりますが、保存拡張子が「xlsx」なります。
拡張子を「xlsm」にするにはどのようにしたらよろしいでしょう。
アドバイスを願します。
Private Sub CommandButton1_Click()
    Dim sFullPath As String
    Dim sMyPath As String
      
    'バックアップ保存
    sMyPath = "S:\1ABT\1712\"
    With ThisWorkbook.Worksheets("依頼票")
        sFullPath = sMyPath & .Range("D9").Text & "(" & .Range("Q14").Text & ")"
    End With
    ThisWorkbook.SaveAs sFullPath
      
    '発注保存?
    sMyPath = "S:\1ABT\"
    With ThisWorkbook.Worksheets("貼りつけ")
        sFullPath = sMyPath & "依頼:" & .Range("A2").Text & "(" & .Range("D2").Text & ")"
        .Copy
    End With
     
    'sFullPath = Application.GetSaveAsFilename(sFullPath, "MicrosoftExcelブック(*.xlsm),*.xlsm", , "ファイルを保存する", "保存")
'If fs = False Then End
 
     With Workbooks(Workbooks.Count)
        .SaveAs sFullPath
        .Close False
         ActiveWindow.Close
    End With
    ActiveSheet.Shapes("CommandButton1").Select
    Selection.Cut
End Sub

回答
投稿日時: 17/12/07 15:12:58
投稿者: もこな2

とりあえず、コードを作成するということは置いておいて。
 
マクロの記録を押して、名前を付けて保存 → ファイルの種類 で Excelマクロ有効ブック で保存してみましょう。
 
そして、マクロの記録で作成されたコードを見てみましょう。
 
ヒント: FileFormat:=????

回答
投稿日時: 17/12/07 15:26:57
投稿者: mattuwan44

ん?
 
元の雛型(=テンプレート)ファイルに、何かしらの記載をして、
入力した値の一部をファイル名にして、名前を付けて保存をしたいのですよね?
 
>保存拡張子が「xlsx」なります。
xlsxでいいのでは?
新たに保存するファイルは、マクロが不要ですよね?
 
xlsmはマクロ有効ファイルであり、
エクセル2016のファイル形式というわけではないですよ?
 
それとも、コマンドボタンは消してもマクロは残しておきたいってことなんですかね?
 
元の雛型ファイルを、「Excel マクロ有効テンプレート(*。xltm)」の形式で保存しておいたら、
便利だと思いますが、、、、いかがでしょうか?

投稿日時: 17/12/07 17:00:16
投稿者: 丘珠

みなさんアドバイスありがとうございます。
実は、ファイルが全国から送付されるのですが直近ま保存形式が「xls」形式の拡張子が主流で
最近2016にバージョンアップした経緯がるため混在しており
「xlsm」で保存するよう統一いたしたくお願いしております。
よろしくお願いいたします。

回答
投稿日時: 17/12/07 17:15:16
投稿者: もこな2

xls?になったのは、たしかExcel2007以降だったかとおもいます。
 
mattuwan44さんもおっしゃっていますが、xlsmはマクロ有効ブックという、マクロが含まれたブックのファイルフォーマットです。
 
Excel2007以降の、マクロが含まれていない普通のブック(デフォルト)の拡張子は「xlsx」となりますので、もし、マクロが含まれていないブックの収集をされるのでしたら、「xlsx」で提出するように統一されたほうがシンプルです。
 
なお、後に続くコード次第ではありますが、xls 、xlsx xlsm どれで提出されても基本は変わらないので、大抵の場合は困ることがありますん。
ですので、私が処理するときは、好きな形式で提出させています。
ご参考まで。

トピックに返信