ActiveXObjectへのパラメータの渡し方 - Printable Version +- Curl Global Community (https://communities.curl.com) +-- Forum: Discussions (https://communities.curl.com/forumdisplay.php?fid=1) +--- Forum: General Curl questions (https://communities.curl.com/forumdisplay.php?fid=2) +--- Thread: ActiveXObjectへのパラメータの渡し方 (/showthread.php?tid=900) |
ActiveXObjectへのパラメータの渡し方 - Kaneko - 05-21-2013 Excelのメソッドを呼び出したいのですが、やり方がうまくわかりません。 Excelのドキュメントを読むと全ての引数がオプションと定義されており、 名前付きで引数にセットしなければならないんですが、 CurlからActiveXObjectのmethodに引数を渡す時は 位置引数ですよね? 特定の引数に値を設定したくない場合、どうしたらいいんでしょうか。 具体的には、ExcelBookのExportAsFixedFormatメソッドを呼びたいです。 これの引数は、以下の通りです。 Type Filename Quality IncludeDocProperties IgnorePrintAreas From To OpenAfterPublish FixedFormatExtClassPtr これのうち、From,Toには何も設定せずに、 OpenAfterPublishにtrueを設定したいです。 ためしに、null,null,trueとしてみましたが、nullを渡したらエラーになりました。。 どうすればいいんでしょうか?やりたいことが上手く伝わるといいんですが。。 RE: ActiveXObjectへのパラメータの渡し方 - dyoshida - 05-23-2013 学習を兼ねて調べてみたのですが、省略する引数に null ではなく、skip-optional-arg 定数を 指定すればよさそうな感じです。 Curl IDEドキュメントの「ActiveX コントロール」の「Curl のデータ型と ActiveX コントロール」の項に ActiveX の型と Curl のデータ型の対比表があったのですが、表の最後に下記の記述がありました "<引数が省略されている場合> SkipOptionalArg" ドキュメント内を検索したところ CURL.GRAPHICS.ACTIVEX に skip-optional-arg 定数 が用意されていており、 下記のような説明がありましたので、お探し物はこれかと思います。 Quote:skip-optional-arg 定数 Curl developer Centerに掲載されていた、ActiveXを使用したExcelデータの操作のサンプルの一部を 抜粋して、 ExportAsFixedFormat メソッドを呼んでみましたが、PDF保存後にビュワーが起動しました。 (※手を抜いてExcelブックを保存していないので終了時に保存確認のダイアログがでますが、そこは気にしない方向で・・・) Code: {curl 8.0 applet}{curl-file-attributes character-encoding = "shift-jis"}{applet manifest = "manifest.mcurl", {compiler-directives careful? = true, allow-any-calls? = true }} RE: ActiveXObjectへのパラメータの渡し方 - Kaneko - 05-24-2013 まさに、探していたのは「skip-optional-arg」でした! こちらのコードでも、期待どおりの動作をすることが、確認できました。 ちなみに、dyoshidaさんのコードで {obj-Excel.ActiveWorkbook.ExportAsFixedFormat xlTypePDF, pdf-file-name, xlQualityStandard, true, false, skip-optional-arg, skip-optional-arg, true, skip-optional-arg } とありますが、最後のskip-optional-argは、省略可能なので、 {obj-Excel.ActiveWorkbook.ExportAsFixedFormat xlTypePDF, pdf-file-name, xlQualityStandard, true, false, skip-optional-arg, skip-optional-arg, true } としても、同等ですね。 ありがとうございました! |