こんにちはゲストさん。会員登録(無料)して質問・回答してみよう!

解決済みの質問

VBScriptでのSaveAsについて

現在、私は「VBScript」を学習中です。

練習に、VBScriptで任意のフォルダにあるすべてのWordのファイルをテキストファイルに保存する簡単なプログラムを作りました。
それは作れたのですが、SaveAsでテキスト保存するときに、

w.SaveAs "xyz.txt", 2

というように、「2」を指定することはいろいろなサイトでわかったものの、それでは他の場合の「一覧」というのがどうしても見つかりません。
Microsoftのサイトでも、「VBA」の場合、「olDoc, olTXT…」などと載っていますが、「VBScript」での使用例がその下に載っているものの、「VBA」の「olDoc」がVBScriptではどの数字を指定するのかなど、一切記載がありません。

どなたか、「VBScript」で「SaveAs」利用時の引数の一覧が掲載されているサイトをご存じの方がおられましたら、アドレスをお教えください。

よろしくお願い致します。

投稿日時 - 2011-06-08 14:03:56

QNo.6794880

暇なときに回答ください

質問者が選んだベストアンサー

間に合うかな?
私はVBSで作る場合には
その元となるWordやExcel、OutLookで下ごしらえします
この際に各アプリケーションのVBAの定数
例、OutlookならVBEのイミディエイトウィンドウで
?olDoc
でその値を調べています。
これをVBSではめ込んでいるのですが、後で見たときに
マジックナンバーでは分からなくなるので
Const olDoc as long = 4 'でしたっけ?
としています。

定数の一覧は無いのでは?
説明も無いと意味不明ですしね。

投稿日時 - 2011-06-08 23:43:13

お礼

ありがとうございます。
結局、そういうことなのですね。
やりたいことがあれば、逐一、調べなければならない、ということなのですね。
きっと、プログラムを組む方もそうしておられるのでしょうね。

なお、「VBScript」では、すべてバリアント(Variant)型のため、「As Long」のようにタイプを設定することはできませんので、単純に、

Const olDoc = 4

となりますし、大変失礼とは思いますが、「Long-2147483648~2147483647)」で間違いではないでしょうけど、せめて「Integer(-32768~32767)」だと思いますし、「Byte(0~255)」でも良いのではないでしょうか?

単にメモリをくうだけでなく、何となくですが、何か不都合が起こりそうな気がしてしまいます。

なにはともあれ、ありがとうございました。
大変、参考になりました。

投稿日時 - 2011-06-09 10:09:37

このQ&Aは役に立ちましたか?

0人が「このQ&Aが役に立った」と投票しています

回答(5)

ANo.4

>私は単純に「VBScript」における「SaveAs」の数字の一覧を知りたいのです。

そういうものはないんじゃないでしょうか。
同じ SaveAs でも Excel の SaveAs と Word の SaveAs は別物ですからね。
同じ値でも Excel の場合と Word の場合では保存されるファイル形式が異なる、
ということもあるんじゃないでしょうか。(確認してませんが。)

投稿日時 - 2011-06-08 21:22:03

お礼

ありがとうございます。
もしかしたら、ご指摘の通りなのかも知れないのですが、それでは、どうやってプログラムを組むのでしょうか?
それならMicrosoftは、せめて「Word」、「Excel」、「Access」、「PowerPoint(?)」などの主要なアプリケーションでの「SaveAs」の引数一覧を、どこかで分かるようにして欲しいものです。
皆々様のお手間をとらせて、大変申し訳ございません。
これだけ皆様に調べて頂いたり、知識を集結して頂いても分からないみたいですので、どうやらあきらめないといけないようですね。
ほんとうに、ありがとうございました。

投稿日時 - 2011-06-08 21:32:07

ANo.3

以下参考。
http://www.officepro.jp/excelvba/book_new/index9.html

「設定するには「SaveAs」メソッドの引数に「FileFormat」を設定します」
の定数の関連のことかな。
これはエクセル起源ですが
Sub test01()
MsgBox xlCSV
MsgBox xlDIF
MsgBox xlCurrentPlatformText
End Sub
などで数値はわかると思う。
VBSでもこれと同じではないでしょうか(余り自信なし)。
ただvbCSVなどは無いようだし、VBSCript独自で、定数がエクセルなどとは別の形で、定義されていのかどうか、不勉強です。
もちろんVBScript 独自(にしかない)の定数はあるようです。
http://www.arufa.co.jp/kondo/vb/doc/vbsTOC.htm
の「定数」の検索をクリックすると出てくるものはある。

投稿日時 - 2011-06-08 20:40:58

お礼

ありがとうございます。
「VBScript」そのものには「FileFormat」は無いように思うのですが、「WSH」では使えるみたいですね。
皆々様にいろいろ調べて頂いて大変ありがたいのですが、どうしてリファレンスに「SaveAs」の単純な引数一覧、のようなものがないのでしょうね。
不思議でなりません。
とりあえずは、皆々様のご尽力とご協力に感謝致します。
もし、上記のように「VBScript」での「SaveAs」引数の単純な一覧のようなサイトをご存じの方がおられましたら、また、よろしくお願い致します。
ありがとうございました。

投稿日時 - 2011-06-08 21:21:50

ANo.2

Prome_Linさん こんにちは。

> Microsoftのサイトでも「VBA」の場合「olDoc, olTXT…」
これはワードの説明ではないと思います。

WordがインストールしてあればVBAのHELPでSaveAsの書式がある程度は分かるかと思います。

> 「2」を指定することはいろいろなサイトでわかったものの…
第2パラメータ(FileFormat)の指定値を知りたいとのことなら次のサイトを見れば分かるかと思います。

http://www.ujasiri.com/prglib/vc/word/imp_doc_SaveAs.html
「2」(wdFormatText)は【テキスト】フォーマットで保存…すると言うことになります。

投稿日時 - 2011-06-08 15:30:23

補足

早速、ありがとうございます。
ご回答頂いて申し訳ないのですが、前提条件を勘違いされておられないでしょうか?
私は、「VBScript」に関して質問しております。
「Word」での説明をして頂いているみたいですが、私はあくまで、「VBScript」での「SaveAs」で指定する「数字」の一覧を知りたいのです。
ちなみに、私が「Microsoftのサイトでも」と言ったのは、

http://msdn.microsoft.com/ja-jp/library/aa613079(office.10).aspx

です。
以上、よろしくお願い致します。

投稿日時 - 2011-06-08 20:36:40

ANo.1

olDoc とかって、Outlook で定義されている定数なんじゃないでしょうか。

とりあえず、↓がみつかりました。
http://www.robvanderwoude.com/vbstech_automation_word.php

投稿日時 - 2011-06-08 15:03:20

お礼

ありがとうございます。
これに間違いはないのですが、大変申し訳ありません、どうも釈然としません。
と言いますのは、あくまで「Word」に関してのみ書かれていますね。
私は単純に「VBScript」における「SaveAs」の数字の一覧を知りたいのです。
「Word」とか「Excel」とか、特定のソフトに依存しているのではなく、「VBScript」の「SaveAs」という命令(?)の純粋な一覧なのですが…。
なにはともあれ、とりあえずは、これを参考にさせて頂きます。
ありがとうございました。

投稿日時 - 2011-06-08 20:49:39

あなたにオススメの質問