2007/7/31 (火) 21:37:17 Mr.XRAY |
> ん? どんなやつでしたっけ?
わかりました。某Q and A の掲示板のですね。
>既にいろいろ実験しているとは思いますが、例えば以下の様なテストをして
>みて下さい。
>
>新規のプロジェクトにTWebBrowserとTButtonを各々一つ配置します。
>usesに SHDocVwを追加します。
>
>---- テスト1 ------
>
>procedure TForm1.FormShow(Sender: TObject);
>var
> AURL : String;
>begin
> AURL:='http://homepage2.nifty.com/Mr_XRAY/index.htm';
> WebBrowser1.Navigate(AURL);
>end;
>// 印刷プレビュー
>procedure TForm1.Button1Click(Sender: TObject);
>var
> Tmp:OleVariant;
>begin
> WebBrowser1.ExecWB(OLECMDID_PRINTPREVIEW,OLECMDEXECOPT_DODEFAULT,Tmp,
>Tmp);
>end;
>
>
>---- テスト2 ------
>
>procedure TForm1.FormShow(Sender: TObject);
>var
> AURL : String;
>begin
> AURL:='エクセルのブックのフルパス';
> WebBrowser1.Navigate(AURL);
>end;
>// 印刷プレビュー
>procedure TForm1.Button1Click(Sender: TObject);
>var
> Tmp:OleVariant;
>begin
> WebBrowser1.ExecWB(OLECMDID_PRINTPREVIEW,OLECMDEXECOPT_DODEFAULT,Tmp,
>Tmp);
>end;
>
>違いは実行した結果の通りです。
>
>エクセルをDelphi(VBAや他の言語でも同じ)からから操作する方法には
>(1)操作用のフォームを用意して、そこに操作コード実行のボタン類を配置
>(2)OleContainerを配置して、その上に表示
>(3)WebBrowser1を配置して、そこに表示
>
>等がありますが、それぞれ一長一短があるのでないかと思います。
>エンドユーザに対して、どのようなインターフェイスを提供し、操作をどの程度
>制限し、何を自動化するのか。全く自由で汎用的な目的であれば、エクセルその
>ものを直接操作すればいいわけですから、その・#95;は考える必要があるかも知れませ
>ん。
>業務アプリであればなおさらでしょう。
>なお、テスト2の結果については、Microsoftのサイト(URLは失念!!)に記述がありま
>す。
>(確か、これは仕様ですと書いてあったと記憶しています)
>
>>http://homepage2.nifty.com/Mr_XRAY/Delphi/plExcel/T_ExcelDialog.htm
>>では、印刷・#95;イアログにプレビューのボタンが出ているのですが
>>何かミソがあるのでしょうか?
>
>何故でしょう。正解者は自分で座布団2枚用意して下さいね(笑)。
>もっとも、たとえ[印刷プレビュー]ボタンが表示されたとしてもプレビューしませ
>んけど。
これですね。
このレスは、この質問のスレッドを読まないとちょっと理解できないかも
知れませんが。
こういうことです。
[テスト1]
WebBrowser1.Navigate(AURL);
となっていますが、AURLにHTML(HTM)ファイルを指定しています。
この時は、ExecWBメソッドでプレビューができます。
[テスト2]
こちらでは、AURLにエクセルのブック名を指定しています。
この場合、ExecWBメソッドで印刷プレビューはできません。
もちろん、WebBrowserで表示していますから、ExcelのPrintPreviewメソッド
でもプレビューできません。
このテストの内容は、マイクロソフトのサイトでも[仕様]と明記されている。
という内容のレスなんです。
そこで、.... から操作する方法には
(1)
(2)
(3)
等が... と説明したのです。ご理解いただけたでしょうか。
つまり、エクセルを表示、操作するにはいろいろ方法があるが、一長一短
があり、ある方法では可能な動作が、他の方法ではできないということです。
したがって、どこまで、操作を自動化するかを考える必要があるということです。
ちなみに、拙作のエクセル操作フォームの概観は、印刷プレビュー操作と同じ様に
なっています。これは、そのまま印刷プレビューのように使用することを想定して
います。つまり、印刷してもきちんと印刷可能なように設計して使うことを前提
にしています。
(エクセルの印刷プレビューでいちいち確認しなくてもいいように)
|
|