Note: The other languages of the website are Google-translated. Back to English

ユーザーにマクロ対応のブックとして保存するように強制するにはどうすればよいですか?

Excelブックを保存すると、デフォルトでxlsxファイル形式で保存されます。複数のコードがある場合、このファイル形式ではブックからマクロコードが削除されます。 コードを保持するには、ブックをExcelマクロとして保存する必要があります-ブック形式を有効にします。 ユーザーにマクロ対応のブックとして保存させるにはどうすればよいですか?

ユーザーにVBAコードを使用してマクロ対応のブックとして保存するように強制する


矢印青い右バブル ユーザーにVBAコードを使用してマクロ対応のブックとして保存するように強制する

ブックをデフォルトでマクロ対応のブックとして保存するには、次のVBAコードが役立つ場合があります。次のようにしてください。

1。 を押し続けます Alt + F11 キーを押して アプリケーション向け Microsoft Visual Basic 窓。

2。 次にダブルクリックします このワークブックVBAプロジェクト セクションを開いて新しい空のモジュールを開き、次のコードをコピーしてモジュールに貼り付けます。

VBAコード:デフォルトでワークブックをマクロ対応のワークブックとして強制的に保存します。

Private Sub Workbook_BeforeSave(ByVal SaveAsUI As Boolean, Cancel As Boolean)
'Updateby Extendoffice
Dim xFileName As String
If SaveAsUI <> False Then
    Cancel = True
    xFileName = Application.GetSaveAsFilename(, "Excel Macro-Enabled Workbook (*.xlsm), *.xlsm", , "Save As xlsm file")
    If xFileName <> "False" Then
      Application.EnableEvents = False
      ActiveWorkbook.SaveAs Filename:=xFileName, FileFormat:=xlOpenXMLWorkbookMacroEnabled
      Application.EnableEvents = True
    Else
      MsgBox "Action Cancelled"
      Cancel = True
      Exit Sub
    End If
End If
End Sub

doc 強制的に xlsm 1 として保存

3. 次に、このコードウィンドウを保存して閉じます。これ以降、ユーザーがこのワークブックとして保存すると、次のように保存されます。 Excelマクロが有効なブック 次のスクリーンショットに示すように、デフォルトでフォーマットします。

doc 強制的に xlsm 2 として保存


最高のオフィス生産性ツール

Kutools for Excelはほとんどの問題を解決し、生産性を80%向上させます

  • 再利用: すばやく挿入 複雑な数式、チャート および以前に使用したものすべて。 セルを暗号化する パスワード付き。 メーリングリストを作成する そしてメールを送る...
  • スーパーフォーミュラバー (複数行のテキストと数式を簡単に編集できます); 読書レイアウト (多数のセルを簡単に読み取って編集する); フィルター範囲に貼り付け...
  • セル/行/列をマージする データを失うことなく; 分割セルコンテンツ; 重複する行/列を組み合わせる...重複セルを防止します。 範囲を比較する...
  • [複製]または[一意]を選択します 行; 空白行を選択 (すべてのセルは空です); スーパーファインドとファジーファインド 多くのワークブックで; ランダム選択...
  • 正確なコピー 数式参照を変更せずに複数のセル。 参照の自動作成 複数のシートに; 箇条書きを挿入、チェックボックスなど...
  • テキストを抽出、テキストの追加、位置による削除、 スペースを削除する; ページング小計の作成と印刷。 セルの内容とコメントを変換する...
  • スーパーフィルター (フィルタースキームを保存して他のシートに適用します); 高度な並べ替え 月/週/日、頻度など。 特殊フィルター 太字、斜体...
  • ワークブックとワークシートを組み合わせる; キー列に基づいてテーブルをマージします。 データを複数のシートに分割; xls、xlsx、PDFをバッチ変換...
  • 300 以上の強力な機能. Office / Excel 2007-2021 および 365 をサポートします。すべての言語をサポートします。 企業や組織に簡単に導入できます。 フル機能の 30 日間無料トライアル。 60日間の返金保証。
kteタブ201905

Officeタブは、タブ付きのインターフェイスをOfficeにもたらし、作​​業をはるかに簡単にします

  • Word、Excel、PowerPointでタブ付きの編集と読み取りを有効にする、パブリッシャー、アクセス、Visioおよびプロジェクト。
  • 新しいウィンドウではなく、同じウィンドウの新しいタブで複数のドキュメントを開いて作成します。
  • 生産性を 50% 向上させ、毎日何百回もマウス クリックを減らすことができます!
officetab下部
コメントを並べ替える
コメント (11)
まだ評価はありません。 最初に評価してください!
このコメントは、サイトのモデレーターによって最小化されました
これはとても便利で、魅力のように機能しましたありがとうございます:)
このコメントは、サイトのモデレーターによって最小化されました
私に多くの苦痛を救った-どうもありがとう
このコメントは、サイトのモデレーターによって最小化されました
良いですね!

頭痛の種をたくさん救ってくれました! :)
このコメントは、サイトのモデレーターによって最小化されました
Mac用のExcel2016を使用していますが、このVBAコードを使用して「.xlsmとして強制保存」を実行すると、次のエラーが発生します。

実行時エラー「1004」:

オブジェクト'_Application'のメソッド'GetSaveAsFilename'が失敗しました

このエラーに関して誰かが提供できるガイダンスと、MacバージョンのExcelで動作するようにコードを調整する必要がある方法を教えていただければ幸いです。
このコメントは、サイトのモデレーターによって最小化されました
fileformat:= 52は、マクロ対応のワークブックを作成する場合と同じように優れています。 fileformat:=51は通常のワークブックです。
このコメントは、サイトのモデレーターによって最小化されました
1004エラーが発生し続けます。
MACにOff365を使用します。 解決策がありますか?
このコメントは、サイトのモデレーターによって最小化されました
こんにちは、ジョナサン、
このコードはWindowsOfficeでうまく機能しますが、MACではテストされていません。
MACで動作するためのコードを検索する必要があります。
ありがとうございました!
このコメントは、サイトのモデレーターによって最小化されました
このVBAをテンプレートファイルに含める方法
このコメントは、サイトのモデレーターによって最小化されました
真のテンプレートファイルタイプであるファイルにこのVBAを含める方法はありますか?
このコメントは、サイトのモデレーターによって最小化されました
テンプレートを作成する準備ができたら、イミディエイトウィンドウを使用して実行する必要があると思います
ActiveWorkbook.SaveAs Filename:= "ENTER YOUR TEMPLATE NAME"、FileFormat:= xlOpenXMLTemplateMacroEnabled
このコメントは、サイトのモデレーターによって最小化されました
ユーザーに .xlsm ファイル形式での保存を強制する VBA コードは、私にとっては非常にうまく機能します。 私はかなり長い間この解決策を探していました。 助けてくれてありがとう!
ここにはまだコメントが投稿されていません
あなたのコメントを残す
ゲストとして投稿
×
この投稿を評価:
0   文字
推奨される場所

フォローする

著作権©の2009 - WWW。extendoffice.com。 | | 全著作権所有。 搭載 ExtendOffice。 | サイトマップ
MicrosoftおよびOfficeのロゴは、米国MicrosoftCorporationの米国およびその他の国における商標または登録商標です。
SectigoSSLで保護