English help on website



saveas文
目次ファイル系文− saveas文

saveas文は、名前を付けて保存をします。
saveas @"C:\Folder\ABC.TXT";
パラメータ1(文字列型)
ファイル名を指定します。

パラメータ2以降(予約語 または 数値、省略可能)
保存の仕方のオプションを、以下の予約語で指定します。
sjis unicode euc jis utf7 utf8 euro gb2312 big5 euckr
unicode_be johab easteuro baltic greek russian symbol
turkish hebrew arabic thai vietnamese oem default utf32 utf32_be
cr lf
bom nobom
selection
binary
数値の場合は、encodeキーワード相当と以下の値の論理和を1つ指定します。(V9.16以降)
bom    0x0600
nobom   0x0400
selection 0x2000

結果コード
成功したらresultは0以外になります。
失敗したらresultは0になります。または、保存できずマクロが続行できない場合は、マクロは中断されます。
詳しいエラーの状態はgetresultexで取得可能です。

JavaScript
JavaScriptでは、パラメータ2以降の予約語パラメータは、数値のみの指定になります。


「名前を付けて保存...」とは違い、ダイアログボックスは出ません。
パラメータ2以降で、エンコードの種類(文字コード)と改行コードの形式を同時に指定することができます。
以下のようにカンマで区切って必要なものを指定してください。
saveas @"C:\Folder\ABC.TXT", utf8, bom;
エンコード(文字コード/ファイル形式)の指定は以下の通りです。
sjis   Shift-JIS(通常のファイル形式)
unicode Unicode(UTF-16)
euc   EUC
jis   JIS
utf7   Unicode(UTF-7)
utf8   Unicode(UTF-8)
euro   欧文
gb2312  簡体字中国語
big5   繁体字中国語
euckr  韓国語

(以下はV8.00以降)
unicode_be Unicode(UTF-16,Big-Endian)
johab    韓国語(Jahab)
easteuro  中央ヨーロッパ言語
baltic   バルト語
greek    ギリシャ語
russian   キリル言語
symbol   シンボル
turkish   トルコ語
hebrew   ヘブライ語
arabic   アラビア語
thai    タイ語
vietnamese ベトナム語
oem     OEM/DOS
default   その他
utf32    Unicode(UTF-32)
utf32_be  Unicode(UTF-32,Big-Endian)

エンコードの種類を何も指定しない場合、現在オープンしているエンコードでそのまま保存されます。

改行コードの指定は以下の通りです。
cr   改行=CR
lf   改行=LF
cr,lf  改行=CR+LF
改行コードを指定しない場合、そのまま保存されます。(V7.00以降
エンコードの指定と同時にlfやcrを指定すると改行コードを統一して保存できます。(改行コードの指定だけを単独ではできません)
lfを指定すると、改行=LFの形式で保存されます。
crを指定すると、改行=CRの形式で保存されます。
crとlfを同時に指定すると改行=CR+LFとなります。(V7.10以降
エンコードの種類を指定して、lfもcr付けないと各エンコードで標準の改行(Shift-JISはCR+LF,EUCはLF)となります。(V7.10以降

BOMの指定は以下の通りです。
bom  BOM有り
nobom BOM無し
saveasでunicodeまたはutf8が指定されている場合、さらにbomを指定するとBOM有り、nobomを指定するとBOM無しで保存します。
何も指定しないと、既存のファイルの状態を維持するか、デフォルトではUnicode(UTF-16)ではBOM有り、Unicode(UTF-8)ではBOM無しになります。(V5.11以降)

selectionを指定すると、選択された範囲を保存します。(V8.58以降)
範囲はBOX選択や複数選択ではない通常の選択のみになります。
saveasにselectionを指定した場合、新しくファイルを作成します。現在開いているファイルのファイル名は変わりません。

saveas "ABC.TXT", unicode;

binaryは、バイナリモードを意味します。マクロでは、バイナリモードはエンコードの種類の1つとして扱われます。


※saveasでの正確な改行指定の動作と、バージョンによる違いは、以下の通りです。

エンコード指定あり+改行指定あり:
改行を統一して変更。cr,lfを同時指定で、明示的にCR+LF。
(cr,lf同時指定はV7.00から。エンコード変化無くても改行統一はV7.10から)

エンコード指定あり+改行指定なし:
各エンコード標準の改行。Shift-JISではCR+LF,EUCではLF。
(従来はCR+LF固定。各エンコード標準の改行はV7.02から。エンコード変化無くても改行統一はV7.10から。)

エンコード指定なし+改行指定あり:
改行コード維持。改行指定は無視。
(従来から同じ。改行の混在を維持するのはV7.00から)

エンコード指定なし+改行指定なし:
改行コード維持。
(従来から同じ。改行の混在を維持するのはV7.00から)