「Web出版サイト」ベータ公開

Q&A集[?]

当サイトでのご質問の受付は終了しました

すべてのコンテンツを読み込み専用としたため、回答欄からも投稿できません

Apache OpenOffice/LibreOfficeのご質問はそれぞれのフォーラムへご投稿ください

質問コーナー

サイト内検索

分類メニュー

関連サイト


本日:1
昨日:0
総数:2327
現在:5


calcマクロ

ページOpenOffice.org FAQの登録ページ
投稿者かず
分類
edit/refer
優先順位
edit/refer
状態
edit/refer
カテゴリー
edit/refer
投稿日2009-09-18 17:29:09 (金)
OSwinxp
依存するページ
バージョン
edit/refer

メッセージ

回答ページでは行末に「~」を付加する必要はありません

calcマクロ

kazu (2009-09-18 17:30:45 (金))

下記のエクセルマクロは、ボタンをおしたら
エクセルを終了させるプログラムです。
これを calcで実行させたところエラーが
でました。

calcマクロでは どのように記述するので
しょうか?

Sub ボタン1_Click()
Application.Quit
End Sub

Calcでは

M.Kamataki (2009-09-18 21:13:52 (金))

以下のようなマクロではどうでしょうか。

sub CloseCalc
dim document   as object
dim dispatcher as object
document   = ThisComponent.CurrentController.Frame
dispatcher = createUnoService("com.sun.star.frame.DispatchHelper")
dispatcher.executeDispatch(document, ".uno:CloseDoc", "", 0, Array())
end sub

もっとVBAに近いコード

M.Kamataki (2009-09-18 22:23:58 (金))

Application.Quit に近いのは、StarDesktop.terminate() でしょうか。ただ、このコードはドキュメントのライブラリに記述するとクラッシュしちゃいます。マイマクロのライブラリにすれば良いようです。以下を参考にしてください。

StarDesktop.terminate()で落ちる
http://hermione.s41.xrea.com/pukiwiki/pukiwiki.php?OOobbs%2F72

;; Application.Quit が実行できちゃうとCalcはクラッシュするかも。

vba編集の画面が表示されます。

かず (2009-09-24 08:44:13 (木))

ご回答のとおり、以下のプログラムを実行しましたが、vba編集画面が表示され、calcを終了できませんでしたが・・・・
sub CloseCalc
dim document as object
dim dispatcher as object
document = ThisComponent.CurrentController.Frame
dispatcher = createUnoService("com.sun.star.frame.DispatchHelper")
dispatcher.executeDispatch(document, ".uno:CloseDoc", "", 0, Array())
end sub

サンプルをご提供ください

M.Kamataki (2009-09-24 12:03:09 (木))

コードを見比べたところ、同じようですね。

さて、コメントからは、どのように実行されたのかわかりません。現在、お試しのファイルをサンプルとして当ページに添付していただけますでしょうか。たぶん、直接ファイルをチェックさせていただいたほうがわかりやすいと思います。ご検討ください。

解決しました。

かず (2009-09-24 16:15:06 (木))

上記の方法で解決しました。

皆様 ありがとうございました

お名前:
題名: