喫茶XRAYトップページ

[▲前のスレッド]

[1331] TExcelApplicationでPrintPreviewでのMrXRAYさんの回答で返信 削除
2007/7/31 (火) 11:30:16 kikyo
MrXRAYさん。
いつも参考にさせていただいております。

TExcelApplicationでPrintPreviewでのMrXRAYさんの回答で

テスト1は上手くいくのですが、テスト2の印刷プレビュー時
(Button1をクリックすると)
「登録されていないドロップ先の登録を解除しています」
とエラーが出ます。
いかがすればいいのでしょうか。ご教示ください。


[1332] Re:TExcelApplicationでPrintPreviewでのMrXRAYさんの回答で返信 削除
2007/7/31 (火) 21:11:51 Mr.XRAY
▼ kikyoさん、こんにちは。

> TExcelApplicationでPrintPreviewでのMrXRAYさんの回答で

ん? どんなやつでしたっけ?


[1333] Re2:エクセルの印刷プレビューについて(長文)返信 削除
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)
等が... と説明したのです。ご理解いただけたでしょうか。
つまり、エクセルを表示、操作するにはいろいろ方法があるが、一長一短
があり、ある方法では可能な動作が、他の方法ではできないということです。

したがって、どこまで、操作を自動化するかを考える必要があるということです。

ちなみに、拙作のエクセル操作フォームの概観は、印刷プレビュー操作と同じ様に
なっています。これは、そのまま印刷プレビューのように使用することを想定して
います。つまり、印刷してもきちんと印刷可能なように設計して使うことを前提
にしています。
(エクセルの印刷プレビューでいちいち確認しなくてもいいように)




[1334] Re3:エクセルの印刷プレビューについて(長文)返信 削除
2007/7/31 (火) 21:42:46 Mr.XRAY
> >違いは実行した結果の通りです。

言い換えると、簡単に言うと、
「違いは(kikyoさんが)実行した結果の通りです。」
ということです。


>いかがすればいいのでしょうか。ご教示ください。

ということで、いかがのしようもごさいません (^_^;)
ご自分の開発するアプリの仕様を考慮して、適当にお考え下さいませ。m(_ _)m


[▼次のスレッド]
INCM/CMT
Cyclamen v3.82