calcマクロ †
ページ | OpenOffice.org FAQの登録ページ |
---|---|
投稿者 | かず |
分類 | |
優先順位 | |
状態 | |
カテゴリー | |
投稿日 | 2009-09-18 17:29:09 (金) |
OS | winxp |
依存するページ | |
バージョン |
メッセージ †
回答ページでは行末に「~」を付加する必要はありません |
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 (木))
上記の方法で解決しました。
皆様 ありがとうございました