目次
ブックに名前を付けて保存します。Workbook.SaveAs メソッドで開いて同じファイル名で上書き保存する場合は、Workbook.SaveAs メソッド、ブックを閉じる場合はWorkbook.SaveAs メソッドを使います。
- 構文
- Boolean = Workbook.SaveAs( FileName, FileFormat, Password , WriteResPassword, ReadOnlyRecommended, CreateBackup, AccessMode, ConflictResolution, AddToMru, TextCodepage, TextVisualLayout, Local )
- 引数
- FileName (String = EMPTYPARAM)省略可
- 保存するファイルの名前を示す文字列。フルパスを指定することも可能。
- FileFormat (XlFileFormat = EMPTYPARAM)省略可
- ファイルを保存するときに使用するファイル形式。
- Password (String = EMPTYPARAM)省略可
- ファイルを保護するためのパスワードを表す15文字以内の文字列を指定します。大文字と小文字が区別されます。
- WriteResPassword (String = EMPTYPARAM)省略可
- ファイルの書き込みパスワードを表す文字列を指定します。パスワードを設定して保存したファイルを、パスワードを指定しないで開くと、ファイルは読み取り専用で開かれます。
- ReadOnlyRecommended (Boolean = EMPTYPARAM)省略可
- ファイルを開くとき、ファイルを読み取り専用として開くように勧めるメッセージを表示するには、Trueを指定します。
- CreateBackup (Boolean = EMPTYPARAM)省略可
- バックアップファイルを作成するには、Trueを指定します。
- AccessMode (XlSaveAsAccessMode = EMPTYPARAM)省略可
- ブックのアクセスモードを指定します。
- ConflictResolution (XlSaveConflictResolution = EMPTYPARAM)省略可
- ブックの保存中にメソッドが競合を解決する方法を決定するXlSaveConflictResolutionの値。xlUserResolutionを指定すると、競合を解決するためのダイアログボックスが表示されます。xlLocalSessionChangesを指定すると、ローカル ユーザーの変更が自動的に受け入れられます。xlOtherSessionChangesを指定すると、ローカル ユーザーの変更ではなく、他のセッションからの変更が自動的に受け入れられます。この引数を省略すると、競合を解決するためのダイアログ ボックスが表示されます。
- AddToMru (Boolean = FALSE)省略可
- 最近使用したファイルの一覧にブックを追加するには、Trueを指定します。
- TextCodepage (Variant)省略可
- 使用不可
- TextVisualLayout (Variant)省略可
- 使用不可
- Local (Boolean)省略可
- Excelの言語設定(コントロールパネルの設定を含む)に合わせてファイルを保存するには、Trueを指定します。
- 戻り値
Workbook オブジェクトを返すメソッド・プロパティ
- Workbooks.Add メソッド
- 新しいブックを作成します。新しいブックが作業中のブックになります。
- Workbooks.Open メソッド
- ブックを開きます。
- Workbook.SaveAs メソッド
- XMLデータファイルを開きます。Workbookオブジェクトを返します。
定数一覧
XlFileFormat 列挙
名前 | 値 | 説明 |
---|---|---|
xlCurrentPlatformText | -4158 | 現在のプラットフォームのテキスト、*.txt |
xlWorkbookNormal | -4143 | ブックの標準、*.xls |
xlSYLK | 2 | シンボリック リンク形式、*.slk |
xlWKS | 4 | Lotus 1-2-3 形式、*.wks |
xlWK1 | 5 | Lotus 1-2-3 形式、*.wk1 |
xlCSV | 6 | CSV、*.csv |
xlDBF2 | 7 | Dbase 2 形式、*.dbf |
xlDBF3 | 8 | Dbase 3 形式、*.dbf |
xlDIF | 9 | DIF ファイル、*.dif |
xlDBF4 | 11 | Dbase 4 形式、*.dbf |
xlWJ2WD1 | 14 | Japanese 1-2-3、*.wj2 |
xlWK3 | 15 | Lotus 1-2-3 形式、WK3 |
xlExcel2 | 16 | Excel バージョン 2.0 (1987)、*.xls |
xlTemplate | 17 | Excel テンプレート形式、*.xlt |
xlTemplate8 | 17 | テンプレート 8、*.xlt |
xlAddIn | 18 | Microsoft Excel 97-2003 アドイン、*.xla |
xlAddIn8 | 18 | Microsoft Excel 97-2003 アドイン、*.xla |
xlTextMac | 19 | Macintosh テキスト、*.txt |
xlTextWindows | 20 | Windows テキスト、*.txt |
xlTextMSDOS | 21 | MSDOS テキスト、*.txt |
xlCSVMac | 22 | Macintosh CSV、*.csv |
xlCSVWindows | 23 | Windows CSV、*.csv |
xlCSVMSDOS | 24 | MSDOS CSV、*.csv |
xlIntlMacro | 25 | International Macro、ファイル拡張子なし |
xlIntlAddIn | 26 | International Add-In、ファイル拡張子なし |
xlExcel2FarEast | 27 | Excel バージョン 2.0 far east (1987)、*.xls |
xlWorks2FarEast | 28 | Microsoft Works 2.0 far east 形式、*.wks |
xlExcel3 | 29 | Excel バージョン 3.0 (1990)、*.xls |
xlWK1FMT | 30 | Lotus 1-2-3 形式、*.wk1 |
xlWK1ALL | 31 | Lotus 1-2-3 形式、*.wk1 |
xlWK3FM3 | 32 | Lotus 1-2-3 形式、WK3 |
xlExcel4 | 33 | Excel バージョン 4.0 (1992)、*.xls |
xlWQ1 | 34 | Quattro Pro 形式、*.wq1 |
xlExcel4Workbook | 35 | Excel バージョン 4.0 ブックの形式 (1992)、*.xlw |
xlTextPrinter | 36 | プリンター テキスト、*.prn |
xlWK4 | 38 | Lotus 1-2-3 形式、*.wk4 |
xlExcel5 | 39 | Excel バージョン 5.0 (1994)、*.xls |
xlExcel7 | 39 | Excel 95 (バージョン 7.0)、*.xls |
xlWJ3 | 40 | Japanese 1-2-3、*.wj3 |
xlWJ3FJ3 | 41 | Japanese 1-2-3 形式、*.wj3 |
xlUnicodeText | 42 | Unicode テキスト、ファイル拡張子なし。*.txt |
xlExcel9795 | 43 | Excel バージョン 95 およびバージョン 97、*.xls |
xlHtml | 44 | HTML 形式、.htm。.html |
xlWebArchive | 45 | Web アーカイブ、.mht。.mhtml |
xlXMLSpreadsheet | 46 | XML スプレッドシート、*.xml |
xlExcel12 | 50 | Excel バイナリ ブック、*.xlsb |
xlOpenXMLWorkbook | 51 | XML ブックを開く、*.xlsx |
xlWorkbookDefault | 51 | ブックの既定、*.xlsx |
xlOpenXMLWorkbookMacroEnabled | 52 | マクロを有効にした XML ブックを開く、*.xlsm |
xlOpenXMLTemplateMacroEnabled | 53 | マクロを有効にした XML テンプレートを開く、*.xltm |
xlOpenXMLTemplate | 54 | XML テンプレートを開く、*.xltx |
xlOpenXMLAddIn | 55 | XML アドインを開く、*.xlam |
xlExcel8 | 56 | Excel 97-2003 ブック、*.xls |
xlOpenDocumentSpreadsheet | 60 | OpenDocument スプレッドシート、*.ods |
xlOpenXMLStrictWorkbook | 61 | XML ファイルを厳密に開く、*.xlsx |
xlCSVUTF8 | 62 | UTF8 CSV、*.csv |
CONST xlCurrentPlatformText = -4158
CONST xlWorkbookNormal = -4143
CONST xlSYLK = 2
CONST xlWKS = 4
CONST xlWK1 = 5
CONST xlCSV = 6
CONST xlDBF2 = 7
CONST xlDBF3 = 8
CONST xlDIF = 9
CONST xlDBF4 = 11
CONST xlWJ2WD1 = 14
CONST xlWK3 = 15
CONST xlExcel2 = 16
CONST xlTemplate = 17
CONST xlTemplate8 = 17
CONST xlAddIn = 18
CONST xlAddIn8 = 18
CONST xlTextMac = 19
CONST xlTextWindows = 20
CONST xlTextMSDOS = 21
CONST xlCSVMac = 22
CONST xlCSVWindows = 23
CONST xlCSVMSDOS = 24
CONST xlIntlMacro = 25
CONST xlIntlAddIn = 26
CONST xlExcel2FarEast = 27
CONST xlWorks2FarEast = 28
CONST xlExcel3 = 29
CONST xlWK1FMT = 30
CONST xlWK1ALL = 31
CONST xlWK3FM3 = 32
CONST xlExcel4 = 33
CONST xlWQ1 = 34
CONST xlExcel4Workbook = 35
CONST xlTextPrinter = 36
CONST xlWK4 = 38
CONST xlExcel5 = 39
CONST xlExcel7 = 39
CONST xlWJ3 = 40
CONST xlWJ3FJ3 = 41
CONST xlUnicodeText = 42
CONST xlExcel9795 = 43
CONST xlHtml = 44
CONST xlWebArchive = 45
CONST xlXMLSpreadsheet = 46
CONST xlExcel12 = 50
CONST xlOpenXMLWorkbook = 51
CONST xlWorkbookDefault = 51
CONST xlOpenXMLWorkbookMacroEnabled = 52
CONST xlOpenXMLTemplateMacroEnabled = 53
CONST xlOpenXMLTemplate = 54
CONST xlOpenXMLAddIn = 55
CONST xlExcel8 = 56
CONST xlOpenDocumentSpreadsheet = 60
CONST xlOpenXMLStrictWorkbook = 61
CONST xlCSVUTF8 = 62
XlSaveAsAccessMode 列挙
名前 | 値 | 説明 |
---|---|---|
xlNoChange | 1 | 既定 (アクセス モードを変更しません) |
xlShared | 2 | 共有モード |
xlExclusive | 3 | 排他モード |
CONST xlNoChange = 1
CONST xlShared = 2
CONST xlExclusive = 3
XlSaveConflictResolution 列挙
名前 | 値 | 説明 |
---|---|---|
xlUserResolution | 1 | ダイアログ ボックスを表示して、ユーザーが重複を解決するように要求します。 |
xlLocalSessionChanges | 2 | ローカル ユーザーの変更を必ず受理します。 |
xlOtherSessionChanges | 3 | ローカル ユーザーの変更を必ず拒否します。 |
CONST xlUserResolution = 1
CONST xlLocalSessionChanges = 2
CONST xlOtherSessionChanges = 3
使い方
名前をつけて保存
Bookという名前で保存します。拡張子を省略した場合、Excel ブック(*.xlsx)として保存されます。
Workbook.SaveAs("Book")
FileNameを省略した場合、作業中のブック名で既定のファイルの場所(Workbook.SaveAs メソッドで取得されるパス)に保存されます。
Workbook.SaveAs()
形式を指定して保存
FileNameで拡張子を省略してFileFormatを指定した場合は、FileFormatに指定した形式で保存されます。
以下はBook.txtで保存されます。
CONST xlCurrentPlatformText = -4158
Workbook.SaveAs("Book", xlCurrentPlatformText)
FileNameで指定した拡張子とFileFormatで指定した種類が違うと正しく保存できずファイルが破損します。
この場合拡張子をxlCurrentPlatformTextである.txtにすることで正しく開くことができるようになります。
以下の場合Book.xlsxからBook.txtに変更することでファイルを開けます。
CONST xlCurrentPlatformText = -4158
Workbook.SaveAs("Book.xlsx", xlCurrentPlatformText)
最近使用したファイルに追加
Book.xlsxで保存し最近使用したファイルに追加します。
Workbook.SaveAs(FileName:="Book.xlsx", AddToMru:=TRUE)
ファイルを開くときファイル読み取り専用として開くようメッセージを表示
Workbook.SaveAs(FileName:="Book.xlsx", ReadOnlyRecommended:=TRUE)
パスワードを指定して保存
ファイルの書き込みパスワードを1234に設定します。
Workbook.SaveAs(FileName:="Book.xlsx", WriteResPassword:="1234")
ファイル名にBook、パスワードに1234を指定して保存します。
Workbook.SaveAs(FileName:="Book", Password:="1234")
パスワードには以下の文字が使えます。
- アルファベット
- A〜Z、a〜z
- 数字
- 0〜9
- 記号
- ! @ # $ % ^ & * ( ) + =
パスワードをつけたファイルを開くにはWorkbooks.Open メソッドのPasswordにここで指定したのと同じパスワードを指定します。
共有モード
ブックを共有モードで保存します。
Workbook.SaveAs(AccessMode:=xlShared)
バックアップを作成
ファイルの保存時にバックアップを作成します。
Workbook.SaveAs(FileName:="Book1", CreateBackup:=TRUE)
Workbook.Save
エラー
SaveAsメソッドで既に存在しているパスを保存しようとすると以下のようなダイアログボックスが表示されます。
ここでいいえを選ぶとCOMエラーが発生するため、TRYなどでエラー処理をする必要があります。
以下はApplication.GetSaveAsFilename メソッドでダイアログボックスを表示し、入力されたファイル名で保存するプログラム。重複している場合は置き換えますか?に対していいえを選択するとエラーが発生するので、再度ファイル名の入力を求める例です。
DIM Excel = CREATEOLEOBJ("Excel.Application")
Excel.Visible = TRUE
Excel.Workbooks.Add()
REPEAT
path = Excel.Application.GetSaveAsFilename("Book1.xlsx", "Excel ブック,*.xlsx")
IFB path = FALSE THEN
PRINT "キャンセルされました。"
ELSE
TRY
PRINT Excel.ActiveWorkbook.SaveAs(path)
EXCEPT
CONTINUE
ENDTRY
ENDIF
UNTIL TRUE
関連記事
- Workbook オブジェクト
- Microsoft Excelブックを表します。
- Workbooks オブジェクト
- Microsoft Excelアプリケーションで現在開かれているすべてのWorkbooks オブジェクトのコレクションです。
- Workbook.AcceptAllChanges メソッド (Excel)
- 指定された共有ブックのすべての変更を反映します。
- Workbook.BreakLink メソッド (Excel)
- 他のExcelソースまたはOLEソースにリンクしている数式を値に変換します。
- Workbook.Creator プロパティ (Excel)
- このオブジェクトを作成したアプリケーションを示す整数値を返します。Excelで作成されたオブジェクトの場合は、文字列XCELを表す値の1480803660(0x5843454C)を返します。
- XLOPEN関数 (スクリプト関数)
- XLOPEN関数は、Excelまたは OOoのCalcを起動する関数です。第一引数に読み込むファイル名(新規の場合は省略)、第二引数に起動フラグ、第三引数以降にパラメータ(パスワードや読み込み専用)を指定します。
- XLSETDATA関数 (スクリプト関数)
- Excelのセルに値を代入します。
- XLSHEET関数 (スクリプト関数)
- PageSetup オブジェクト
- Excel のシートの印刷設定を表すオブジェクトです。シートの用紙サイズ、余白、方向、印刷タイトルなど、印刷に関連する設定を管理するのに使用されます。
- Application オブジェクト
- Excel全体を表すオブジェクトです。Excel全体に対しての操作、設定変更をしたい場合に使います。