dポイントプレゼントキャンペーン実施中!

こんにちは。

VC+を使用したWindowsアプリケーションからEXCELファイルを操作するプログラムを作成しています。
そこで、質問なのですが、これらオートメーション処理の関数のヘルプがMicrosoftのWebサイトやMSDNを探しても見つかりません。

具体的には、Excelのファイルを名前を付けて保存したいと考え、以下のような関数を使用したいと思っています。。
--------------------------------------------
Workbooks books;
_Workbook book;

books = ExcelCtrl.GetWorkbooks();
book = books.Add(covOptional);
book.SaveAS(この中のパラメータの意味が不明)
---------------------------------------------
ちなみに、SaveAS関数は、excel.cppで定義されています。VisualStudio で上記関数を入力しようとすると
パラメータ一覧が出るのですが、以下のようなパラメータがあるようです。これらのパラメータは省略不可のようで、どんな値を入れればよいのか。また、各パラメータはどんな意味を持つのか、よく分かりません。どなたかご存知の方がおられましたら、ご教授をお願いいたします。また、SavaAs関数以外でも、使用できるオブジェクトと対応した関数一覧が記載されたWebページなどありましたら、ご教授願います。
よろしくお願いします。

const VARIANT &Filename,
const VARIANT &FileFormat,
const VARIANT &Password,
const VARIANT &WriteResPassword,
const VARIANT &ReadOnlyRecommended,
const VARIANT &CreateBackup,
long AccessMode,
const VARIANT &ConfoctResolution,
const VARIANT &AddToMru,
const VARIANT &TextCodepage,
const VARIANT &TextVisualLayout,
const VARIANT &Local

A 回答 (3件)

>VC++でのオートメーション処理で使用する関数の仕様


同じだと思いますけどぉ
ていうか、同じでないと、ActiveXでExcel.Applicationが使えないしね。
オートメーション処理ってようするに、
エクセルをC++から操作するってことですよね?
勘違いしてますか?
当初の質問で、
>どんな値を入れればよいのか。また、各パラメータはどんな意味を持つのか、よく分かりません。
ってことでしたよね。
それで、これは関係ないと思ったのですか?
実際に試されておっしゃっているのでしょうか?
まあ、がんばって下さい。
    • good
    • 0
この回答へのお礼

ご回答ありがとうございます。

まだまだ無知なのに生意気言ってすみませんでした。
色々と調べているうちに、なんとなく分かってきました。
ご迷惑お掛けしました。

お礼日時:2005/04/25 14:24

>省略不可ですし、VBAで仕様できる定数も、オートメーション処理では使用できないみたいです…


省略不可かどうかは、関係ないと思いますが…
省略不可なら省略しなけりゃいいだけのことかと思いますが・
VBAでの定数は、もちろん、VBAで調べればいいことかと・
エクセルの操作ができるということは、エクセルは入っているんですよね?

何がたりないと言われるんでしょう?

この回答への補足

>省略不可かどうかは、関係ないと思いますが…
省略不可なら省略しなけりゃいいだけのことかと思いますが・

関数の仕様が分からないので、指定しようにもできない状態なのです。
VC++でのオートメーション処理で使用する関数の仕様を探してますので、VBAのリファレンスを転載頂いても、使えないのです。

もしかしてオートーメーション処理の意味を誤解されておりますでしょうか。目的は以下のURLに記載されているような処理です。
http://support.microsoft.com/kb/196776/JA/
http://support.microsoft.com/kb/178749/JA/
http://support.microsoft.com/kb/179706/
http://www.asahi-net.or.jp/~yy6m-wd/kuma/vctip/v …
http://homepage2.nifty.com/DSS/VCPP/MFC/OLE/OLEE …

上記URLで処理内容は記述してあるのですが、MSDNにあるような関数仕様の説明が欲しいと思いまして、質問させて頂いております。

ご理解いただけましたでしょうか。

補足日時:2005/04/17 00:41
    • good
    • 0

以下は、エクセルVBEでのSaveAsヘルプの記述の抜粋です。

ご参考に。
>使用できるオブジェクトと対応した関数一覧
についても、エクセルVBEでオブジェクトブラウザとヘルプを使うと参考になるかと存じます。

Filename 省略可能です。バリアント型 (Variant) の値を使用します。保存するファイルの名前を表す文字列を指定します。絶対パスを含めることもできます。絶対パスを含めない場合は、ファイルはカレント フォルダに保存されます。

FileFormat 省略可能です。バリアント型 (Variant) の値を使用します。ファイルを保存するときのファイル形式を指定します。指定できる形式については、FileFormat プロパティを参照してください。既存のファイルでは、指定された最後のファイル形式が既定のファイル形式です。新しいファイルでは、現在使用されている Excel のバージョンでのファイル形式が既定のファイル形式です。

Password 省略可能です。バリアント型 (Variant) の値を使用します。保存するファイルに設定する読み取りパスワードを表す文字列を指定します。パスワードは 15 文字以内の文字列で指定し、大文字と小文字が区別されます。

WriteResPassword 省略可能です。バリアント型 (Variant) の値を使用します。保存するファイルに設定する書き込みパスワードを表す文字列を指定します。パスワードを設定して保存したファイルを、パスワードを指定しないで開くと、ファイルは読み取り専用で開かれます。

ReadOnlyRecommended 省略可能です。バリアント型 (Variant) の値を使用します。ファイルを開くときに、読み取り専用で開くことを推奨するメッセージを表示するには、True を指定します。

CreateBackup 省略可能です。バリアント型 (Variant) の値を使用します。バックアップ ファイルを作成するには、True を指定します。

AccessMode 省略可能です。XlSaveAsAccessMode クラスの定数を使用します。

使用できる定数は、次に示す XlSaveAsAccessMode クラスのいずれかです。
xlExclusive 排他モード
xlNoChange (既定値) アクセス モードを変更しない
xlShared 共有モード
この引数を省略すると、アクセス モードは変更されません。共有ファイルをファイル名を変えずに保存した場合は、この引数は無視されます。アクセス モードを変更するには、ExclusiveAccess メソッドを使います。

ConflictResolution 省略可能です。XlSaveConflictResolution クラスの定数を使用します。

使用できる定数は、次に示す XlSaveConflictResolution クラスのいずれかです。
xlUserResolution [変更箇所のコンフリクト] ダイアログ ボックスを表示
xlLocalSessionChanges 自動的にローカル ユーザーの変更を反映
xlOtherSessionChanges 他のユーザーの変更を反映
この引数を省略すると、[変更箇所のコンフリクト] ダイアログ ボックスが表示されます。

AddToMru 省略可能です。バリアント型 (Variant) の値を使用します。最近使用したファイルの一覧にブックを追加するには True を指定します。既定値は False です。

TextCodePage 省略可能です。バリアント型 (Variant) の値を使用します。英語の Excel では使用できません。

TextVisualLayout 省略可能です。バリアント型 (Variant) の値を使用します。英語の Excel では使用できません。

Local 省略可能です。バリアント型 (Variant) の値を使用します。Excel の言語設定 (コントロール パネルの設定を含む) に合わせてファイルを保存するには、True を指定します。Visual Basic for Applications (VBA) の言語設定に合わせてファイルを保存するには、False (既定値) を指定します。通常この設定は、Workbooks.Open を実行する VBA プロジェクトが Excel バージョン 5 または 95 の各国語版で作成されたプロジェクトでない限り、英語 (U.S.) になります。
    • good
    • 0
この回答へのお礼

ご回答ありがとうございます。

せっかくご回答頂いたのですが、残念ながらVBAの関数とオートメーション処理では仕様が違うようです…
パラメータの名前は一緒ですが、省略不可ですし、VBAで仕様できる定数も、オートメーション処理では使用できないみたいです…

お礼日時:2005/04/15 18:56

お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!