Workbook.SaveAs メソッド

本ページには広告が含まれています。

ブックに名前を付けて保存します。Workbook.SaveAs メソッドで開いて同じファイル名で上書き保存する場合は、Workbook.SaveAs メソッド、ブックを閉じる場合はWorkbook.SaveAs メソッドを使います。

構文
  1. 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
xlSYLK2シンボリック リンク形式、*.slk
xlWKS4Lotus 1-2-3 形式、*.wks
xlWK15Lotus 1-2-3 形式、*.wk1
xlCSV6CSV、*.csv
xlDBF27Dbase 2 形式、*.dbf
xlDBF38Dbase 3 形式、*.dbf
xlDIF9DIF ファイル、*.dif
xlDBF411Dbase 4 形式、*.dbf
xlWJ2WD114Japanese 1-2-3、*.wj2
xlWK315Lotus 1-2-3 形式、WK3
xlExcel216Excel バージョン 2.0 (1987)、*.xls
xlTemplate17Excel テンプレート形式、*.xlt
xlTemplate817テンプレート 8、*.xlt
xlAddIn18Microsoft Excel 97-2003 アドイン、*.xla
xlAddIn818Microsoft Excel 97-2003 アドイン、*.xla
xlTextMac19Macintosh テキスト、*.txt
xlTextWindows20Windows テキスト、*.txt
xlTextMSDOS21MSDOS テキスト、*.txt
xlCSVMac22Macintosh CSV、*.csv
xlCSVWindows23Windows CSV、*.csv
xlCSVMSDOS24MSDOS CSV、*.csv
xlIntlMacro25International Macro、ファイル拡張子なし
xlIntlAddIn26International Add-In、ファイル拡張子なし
xlExcel2FarEast27Excel バージョン 2.0 far east (1987)、*.xls
xlWorks2FarEast28Microsoft Works 2.0 far east 形式、*.wks
xlExcel329Excel バージョン 3.0 (1990)、*.xls
xlWK1FMT30Lotus 1-2-3 形式、*.wk1
xlWK1ALL31Lotus 1-2-3 形式、*.wk1
xlWK3FM332Lotus 1-2-3 形式、WK3
xlExcel433Excel バージョン 4.0 (1992)、*.xls
xlWQ134Quattro Pro 形式、*.wq1
xlExcel4Workbook35Excel バージョン 4.0 ブックの形式 (1992)、*.xlw
xlTextPrinter36プリンター テキスト、*.prn
xlWK438Lotus 1-2-3 形式、*.wk4
xlExcel539Excel バージョン 5.0 (1994)、*.xls
xlExcel739Excel 95 (バージョン 7.0)、*.xls
xlWJ340Japanese 1-2-3、*.wj3
xlWJ3FJ341Japanese 1-2-3 形式、*.wj3
xlUnicodeText42Unicode テキスト、ファイル拡張子なし。*.txt
xlExcel979543Excel バージョン 95 およびバージョン 97、*.xls
xlHtml44HTML 形式、.htm。.html
xlWebArchive45Web アーカイブ、.mht。.mhtml
xlXMLSpreadsheet46XML スプレッドシート、*.xml
xlExcel1250Excel バイナリ ブック、*.xlsb
xlOpenXMLWorkbook51XML ブックを開く、*.xlsx
xlWorkbookDefault51ブックの既定、*.xlsx
xlOpenXMLWorkbookMacroEnabled52マクロを有効にした XML ブックを開く、*.xlsm
xlOpenXMLTemplateMacroEnabled53マクロを有効にした XML テンプレートを開く、*.xltm
xlOpenXMLTemplate54XML テンプレートを開く、*.xltx
xlOpenXMLAddIn55XML アドインを開く、*.xlam
xlExcel856Excel 97-2003 ブック、*.xls
xlOpenDocumentSpreadsheet60OpenDocument スプレッドシート、*.ods
xlOpenXMLStrictWorkbook61XML ファイルを厳密に開く、*.xlsx
xlCSVUTF862UTF8 CSV、*.csv
UWSC
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 列挙

名前説明
xlNoChange1既定 (アクセス モードを変更しません)
xlShared2共有モード
xlExclusive3排他モード
UWSC
CONST xlNoChange = 1
CONST xlShared = 2
CONST xlExclusive = 3

XlSaveConflictResolution 列挙

名前説明
xlUserResolution1ダイアログ ボックスを表示して、ユーザーが重複を解決するように要求します。
xlLocalSessionChanges2ローカル ユーザーの変更を必ず受理します。
xlOtherSessionChanges3ローカル ユーザーの変更を必ず拒否します。
UWSC
CONST xlUserResolution = 1
CONST xlLocalSessionChanges = 2
CONST xlOtherSessionChanges = 3

使い方

名前をつけて保存

Bookという名前で保存します。拡張子を省略した場合、Excel ブック(*.xlsx)として保存されます。

UWSC
Workbook.SaveAs("Book")

FileNameを省略した場合、作業中のブック名で既定のファイルの場所(Workbook.SaveAs メソッドで取得されるパス)に保存されます。

UWSC
Workbook.SaveAs()

形式を指定して保存

FileNameで拡張子を省略してFileFormatを指定した場合は、FileFormatに指定した形式で保存されます。

以下はBook.txtで保存されます。

UWSC
CONST xlCurrentPlatformText = -4158

Workbook.SaveAs("Book", xlCurrentPlatformText)

FileNameで指定した拡張子とFileFormatで指定した種類が違うと正しく保存できずファイルが破損します。

この場合拡張子をxlCurrentPlatformTextである.txtにすることで正しく開くことができるようになります。

以下の場合Book.xlsxからBook.txtに変更することでファイルを開けます。

UWSC
CONST xlCurrentPlatformText = -4158

Workbook.SaveAs("Book.xlsx", xlCurrentPlatformText)
.png

最近使用したファイルに追加

Book.xlsxで保存し最近使用したファイルに追加します。

UWSC
Workbook.SaveAs(FileName:="Book.xlsx", AddToMru:=TRUE)
.png

ファイルを開くときファイル読み取り専用として開くようメッセージを表示

UWSC
Workbook.SaveAs(FileName:="Book.xlsx", ReadOnlyRecommended:=TRUE)
.png

パスワードを指定して保存

ファイルの書き込みパスワードを1234に設定します。

UWSC
Workbook.SaveAs(FileName:="Book.xlsx", WriteResPassword:="1234")

ファイル名にBook、パスワードに1234を指定して保存します。

UWSC
Workbook.SaveAs(FileName:="Book", Password:="1234")

パスワードには以下の文字が使えます。

アルファベット
A〜Z、a〜z
数字
0〜9
記号
! @ # $ % ^ & * ( ) + =

パスワードをつけたファイルを開くにはWorkbooks.Open メソッドPasswordにここで指定したのと同じパスワードを指定します。

共有モード

ブックを共有モードで保存します。

UWSC
Workbook.SaveAs(AccessMode:=xlShared)
.png

バックアップを作成

ファイルの保存時にバックアップを作成します。

UWSC
Workbook.SaveAs(FileName:="Book1", CreateBackup:=TRUE)
Workbook.Save
.png

エラー

SaveAsメソッドで既に存在しているパスを保存しようとすると以下のようなダイアログボックスが表示されます。

SaveAs_エラー.png

ここでいいえを選ぶとCOMエラーが発生するため、TRYなどでエラー処理をする必要があります。

SaveAs_COMエラー.png

以下はApplication.GetSaveAsFilename メソッドでダイアログボックスを表示し、入力されたファイル名で保存するプログラム。重複している場合は置き換えますか?に対していいえを選択するとエラーが発生するので、再度ファイル名の入力を求める例です。

UWSC
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全体に対しての操作、設定変更をしたい場合に使います。