技術共有

VBA で Excel ブックを開いて保存し、閉じる方法

2024-07-12

한어Русский языкEnglishFrançaisIndonesianSanskrit日本語DeutschPortuguêsΕλληνικάespañolItalianoSuomalainenLatina

序文

このセクションでは、VBA メソッドを使用して Excel ブックを開く方法、Excel ブックを保存して閉じる方法、および Open、Save、Close メソッドをそれぞれ使用する方法を紹介します。


1. Open メソッドを使用してブックを開きます

Workbooks.Open(ファイル名、リンクの更新、読み取り専用、形式、パスワード、パスワードの書き込み、読み取り専用を無視、元の場所、区切り文字、編集可能、通知、コンバーター、Mru の追加、ローカル、破損した読み込み)
虽参数较多,但只有FileName为必填参数,表示需要打开的工作簿文件名,关于参数说明请参考下表:

パラメータ説明する
ファイル名開く必要があるワークブックのファイル名と、ファイルの絶対パスが必要です。
更新リンクワークブック内の外部参照 (リンク) を更新する方法を指定します。可能な値は 0 または 3 で、それぞれ、ワークブックを開いたときに外部参照を更新しないこと、およびワークブックを開いたときに外部参照を更新することを意味します。
読み取り専用True の場合、ワークブックを読み取り専用モードで開くことを意味します。
フォーマットテキスト ファイルを開くときに、このパラメータを使用して区切り文字を指定します。可能な値は、1 (タブ)、2 (カンマ)、3 (スペース)、4 (セミコロン)、5 (なし)、6 (カスタム文字、Delimiter パラメーターで指定) です。
パスワード開くワークブックに開くパスワードが設定されている場合は、このパラメータを使用してパスワードを指定します。パスワードが設定されているが、このパラメータが入力されていない場合は、ユーザーにパスワードの入力を求めるダイアログ ボックスが表示されます。
パスワードを書き直す開くワークブックに構造を保護するためのパスワードがある場合は、このパラメータを使用して対応するパスワードを指定します。
無視読み取り専用推奨True の場合、読み取り専用の推奨情報を表示しないことを意味します。
起源テキスト ファイルを開くときに、このパラメータを使用してファイルの作成元のオペレーティング システムを指定し、コード ページとキャリッジ リターン/ライン フィードを正しく処理します。可能な値は、定数 xlMacintosh、xlWindows、xlMSDOS です。
デリミタテキスト ファイルを開くときに、Format パラメータが 6 に設定されている場合、このパラメータを使用して文字を区切り文字として指定します。複数の文字が設定されている場合、デフォルトでは最初の文字のみが使用されます。
編集可能開くファイルが Excel 4.0 アドインの場合、このパラメータの値が True の場合、アドインは表示ウィンドウになります。False の場合、またはこのパラメータが無視されると、アドインは非表示で開かれます。このパラメータはバージョン 5.0 以降では使用できません。
通知する開くファイルが読み書きモードで開けない場合、このパラメータの値が True の場合、ファイルをファイル通知リストに追加できます。 Excel はファイルを読み取り専用モードで開き、ファイル通知リストをポーリングして、ファイルが使用可能になったときにユーザーに通知します。このパラメータの値が False であるか省略されている場合、通知は要求されず、使用できないファイルは開くことができません。
コンバータファイルを開くときにファイルコンバータが最初に使用しようとしたインデックス番号。指定したファイル コンバーターでファイルが認識されない場合は、別のコンバーターを使用してみてください。
追加Mruこのパラメータの値が True の場合、ジョブは最近使用したファイルのリストに追加されません。デフォルトはFalseです
地元このパラメータの値が True の場合、ファイルは Excel の言語で保存されます (コントロール パネルの設定を含む)。デフォルトは False で、ファイルは VBA の言語で保存されます。
破損したロード使用可能な値は定数 xlNormalLoad、xlRepairFile、および xlExtractData です。これらはそれぞれ、ワークブックを通常どおりに開くこと、ワークブックの修復を試行すること、およびワークブック内のデータの復元を試行することを意味します。デフォルトはxlNormalLoadです
例 1: Excel ワークブックを開く
Sub OpenExcelFile()
    
    Dim strFileName As String
    ' 定义文件名称
    strFileName = "D:VBAEmployee.xlsx"
    
    ' 打开工作簿
    Workbooks.Open Filename:=strFileName
    
End Sub
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9
  • 10
例 2: 現在のパスで Excel ワークブックを開く
Sub OpenExcelFile()

    Dim strFileName As String
    Dim strFilePath
    
    ' 定义文件名称
    strFileName = "Employee.xlsx"
    ' 获取当前路径
    strFilePath = ThisWorkbook.Path
    
    ' 打开工作簿
    Workbooks.Open Filename:=strFilePath & "" & strFileName
    
End Sub
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9
  • 10
  • 11
  • 12
  • 13
  • 14

2. ファイルを保存して閉じます

Excel ブックを開いてその内容を操作し、保存して閉じる場合は、Save メソッドと Close メソッドを使用できます。

例: 現在のパスで Employee.xlsx ファイルを開いた後、Sheet1 のセル A1 に現在の日付を書き込んだ後、Employee.xlsx ファイルを保存して閉じます。完全なコードは次のとおりです。
Sub WriteCurrentDate()
    
    ' 申明变量
    Dim strFileName As String
    Dim strFilePath
    Dim ws As Worksheet
    Dim wb As Workbook
    
    ' 定义文件名称
    strFileName = "Employee.xlsx"
    ' 获取当前路径
    strFilePath = ThisWorkbook.Path
    
    ' 打开工作簿
    Workbooks.Open Filename:=strFilePath & "" & strFileName
    
    ' 定义sheet1工作表对象以及当前打开的工作簿对象
    Set ws = ActiveWorkbook.Worksheets("Sheet1")
    Set wb = ActiveWorkbook
    
    ' A1单元格写入当前日期
    ws.Range("A1").Value = Date
    
    ' 保存并关闭文件
    wb.Save
    wb.Close
    
End Sub
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9
  • 10
  • 11
  • 12
  • 13
  • 14
  • 15
  • 16
  • 17
  • 18
  • 19
  • 20
  • 21
  • 22
  • 23
  • 24
  • 25
  • 26
  • 27
  • 28