OpenOffie CalcでOOoBマイマクロの中身が消えてしまいます。
OpenOffice.org3.2.0のマイマクロ(Standard-Module1)にマクロプログラムを作成し保存しました。
保存したファイル(*****.ods)を別パソコンで開き、OpenOffie CalcでOOoBのマイマクロを編集しようとしたのですが、マクロプログラムが消えてしまいました。(Sub Mainの空関数のみ表示されます。)
何故、マイマクロは消えてしまったのでしょうか。又、復旧方法はあるのでしょうか。
Excel VBAをOOoBに移植しようとしていますが、OpenOffice初心者で色々と困っています。
お手数おかげしますが、ご存知の方、教えて下さい。宜しくお願いします。
No.3ベストアンサー
- 回答日時:
>保存したファイル(*****.ods)と同一フォルダには、他にファイルは作成されてなかったと思うのですが..もしかしたら、OpenOfficeのインストールフォルダ以下のどこかに作成されていたりするのですか。
=> #1です。
難しく考える必要はありません。
単純にOpenOffice.org Basicは以下の場所で保存出来ます。
tool => Macro => マクロの管理 => OPenOffice.org Basic
を選択すると下記3項目が表示されます。
1)私のマクロ : 作成したパソコンであれば別のOOo fileでも使用できるもの。
2)OpeOffice.orgのマクロ : 1)と基本的には同じですがOpenOffice.orgの拡張機能のマクロ等が普通格納される。
3)作成しているCalcのfile : file付属のマクロ
つまり、1),2)はパソコン固有のマクロになり、3)はfile固有のマクロになります。
従って、質問者さんが行うように他のPCにてマクロを使いたいのならば3)に属する様にマクロを作成すればOKです。(作成したマクロをcopy pasteすればOK)
あと、私見ですが
VBA => OpenOffice.org Basic
はVBAが分かっていれば何無くコードが書けます。
なんちゃってVBAマスターのレベルだと少し困惑するかも知れません。
下記URLの
URL : http://openoffice3.web.fc2.com/
Free Softwareでいこう!!「 OpenOffice.orgを使おう編 」 => 4.Macroの杜 => Macroの一歩 (「Macro使い」への8分間 )
を理解できれば、「Openoffice.Org Basic 恐れずに足らず」です。
頑張って下さい。
親切な回答ありがとうございます。
1)私のマクロに格納していたマクロは C:\Documents and Settings以下のフォルダで見つかりました。
今後、作成するマクロは 3)作成しているCalcのfile に格納します。
「なんちゃってVBAマスター」のレベルにも達してないのですが、教えていただいた「Macroの一歩 (「Macro使い」への8分間 )」は理解できました。
今後、「Macroの一歩 (「Macro使い」への8分間 )」からリンクがはられていた、「はにゃ?」さんの個人サイト」などを参考に勉強していきたいと思います。
No.4
- 回答日時:
ある程度のVBAプログラマなら、OOo Basic で出ているサンプルコードは、問題ではないと思います。
しかし、その逆のVBAコードはというと、そんなに簡単には行かないはずです。最近、ここであった質問で、[気象庁サイトで、ひとつの地域の1時間ごとのデータを1年分ワークシートに出力する方法]などは、本来、OOo Basic で出来ると便利ですね。時々、同じような質問が出てくる話ですが、Excel なら、QueryTable を使うところですが、拡張性や移植性を考えると、そういう固有のオブジェクトは避け、できれば、OOo Basic でも可能なら、多少、遅くても可能ならよいと思います。
私自身、配列のFor Each ? In ?Next のループを、OOo Basic に切り替えるぐらいの転換は問題ありませんが、OOo Basic には、事前バインディングがないわけですね。それ自体は大したことがないのですが、そもそも、CreateObject やGetObject で取れる範囲が限られているように思うのです。ほとんど、MS系のオートメーションやWin のライブラリの呼び出しが出てこないのです。今、VBAは、一部の.Net FrameWork までサポートしています。
また、オートメーションオブジェクト(例:ShellApplication)やWMIなどというのは、ここらはどうなっているのかなって思います。この前は、WinHttp を使いたかったのですが、これも分かりませんでした。インターネットで調べると、ネットにアクセするコードが非公開になっていましたが、おそらく、Basic ではなく、JavaScript 側で書くのではないのかなっていう想像をしました。
また、IEイベント(WithEvents objIE As InternetExplorer )も、たぶん、できないようなきがします。Class ても、初級で、NewWorkbookイベント[App_NewWorkbook(ByVal Wb As Workbook] があります。それで、ブックのInstance を設けます。この程度Basicでは分かりません。この程度は出来ないと、OOo Basic でサポート出来るとは言えないと思います。
私は、他の言語と比較して、Basic の本質的な所は、非MS系であって、根本的な発想や組み立て段階で、違っているのではないかと予想を立てています。もっと基礎レベルでも、セルの捉え方も違うし、私には、VBAからでは見えない部分がおおいです。だから、VBAプログラミングが、Basic に簡単に移行できたり、乗り換えが可能だとは思っていません。
MS系のVBAや同系の言語からの組み立てや発想からでは、アプローチが間違っているようにさえ思っています。NovellバージョンBasic を使っても、組み立ての流れが違うので、いくら Black Box化されても、思わぬところで失敗するように感じています。ある程度のレベルなら、VBAというよりも、Excel全体は、C言語にあるというのが分かって使っているのと、そうでないとでは、差が出てきます。言い換えると、OOo の本質的な部分では、Java があるのだろうとは予想しています。ただ、そこまで、追い求めても、限られた時間では、達成できそうもありません。別に乗り換えするつもりはないのですが、MS系に振り回されるのも問題だから手をつけたけれども、結局、歯が立たないというのが私の感想です。
MS系の歴史的な層の厚さから、簡単には同じレベルには到底至らないと思うのです。VBAというものは、本来、Win系の標準ツールの恩恵があって便利になっているわけで、そういう利用が公開になっていかないと、MS系の路線から出られないし、VBAには匹敵しないのではないのかなって思いました。悲観的にまとめるのは本意ではありませんが、そんなに簡単ではないと思っています。
再度、親切な回答(アドバイス)ありがとうございます。
小生も「Excel VBAのOOoBへの移植は難しいのでは」と感じております。
まだ移植作業は少ししか進んでいないのですが、今のところ以下の2点に問題を感じています。
(1)IF文やFOR文などの基本構文はそのまま使用できるのですが、「セルの読み書き」や「グラフオブジェクトの変更」、「メニューバーの操作」など、変更しなければならない箇所が多々あり、「移植」というよりは「作り直し」の感がある。
(2)パフォーマンスが悪い。(INIファイルを読み込み、読み込んだ値をセルに展開し、グラフ表示を行うのに、VBAに比べて何倍もの時間がかかってしまいます。)
これからまだまだ問題点は出てくると思いますが、「移植可否の検討」も含めて作業を進めていきたいと思います。
本当にご丁寧な回答ありがとうございました。
No.2
- 回答日時:
>マイマクロ(Standard-Module1)は残っていました。
IDEの置き場所には、個別ユーザーフォルダ:(XPの場合)
C:\Documents and Settings\[User ID]\Application Data\OpenOffice.org\
に、Basic フォルダがありますから、個別ユーザーの共有モジュールはここに置かれます。
だから、もし、個別にマクロを置くなら、個別のファイル側にマクロ・スクリプトを置かなくてはならないはずです。これは、Excel VBAでも同じことですね。
でも、上記に書かれたフォルダからファイルを取り出すのではなくて、マクロ自体をコピー&ペーストすればよいと思います。不要だったら、共有モジュールに書かれたマクロ・スクリプトは削除すれば簡単だと思います。
>OpenOfficeのインストールフォルダ以下のどこかに作成されていたりするのですか。
良く意味が分からないのですが、通常、インストールフォルダは、Programe Files 側だと思います。そこに入れる人は、それほど多くないと思います。通常、User 側の My Documents のフォルダか、その下位のファイルフォルダを置くのではないでしょうか。
それと別に、上記のユーザー側の設定フォルダがあります。
なお、
>Excel VBAをOOoBに移植しようとしていますが
これは難しいと思います。Option によって、VBASupportモードにはなるものの、実際の所は、ほとんど互換性はありません。おそらく、徹底した脱MS思想だと思いますが、VBAで使えるWin側のツールの呼び出しが利きません。また、JavaScript も独自だと聞きますと、簡単ならともかく、VBAと同じレベルには至りません。それが、今の私の現状です。それ以外のPythonなどの言語に手を出す余裕もありません。NovellブランドのOpenOffice.orgを入れれば良いというかもしれませんが、それは別問題ですからね。
親切な回答、ありがとうございます。
帰宅したら、家のパソコンの
C:\Documents and Settings\[User ID]\Application Data\OpenOffice.org\
の下のフォルダを調べてみます。
Excel VBAからOOoBへの移植は敷居が高そうですね。現状、OOoBの知識がほとんど無いので辛いですが、移植できない場合は、できない(難しい)理由を調べていきたいと思います。
No.1
- 回答日時:
>OpenOffice.org3.2.0のマイマクロ(Standard-Module1)にマクロプログラムを作成し保存しました。
保存したファイル(*****.ods)を別パソコンで開き、・・・⇒作成したパソコンに残っていますよ!!
早速の回答ありがとうございます。
作成したパソコンに残っているのですね。確かに作成したパソコンで保存したファイル(*****.ods)を開いたらマイマクロ(Standard-Module1)は残っていました。
ということは、保存したファイル(*****.ods)以外にもファイルが存在するということですね。
家のパソコンで作成したので、今は探せないのですが、保存したファイル(*****.ods)と同一フォルダには、他にファイルは作成されてなかったと思うのですが..
もしかしたら、OpenOfficeのインストールフォルダ以下のどこかに作成されていたりするのですか。
初心者で申し訳ありません。ご存知でしたら教えて下さい。
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
関連するカテゴリからQ&Aを探す
おすすめ情報
- ・漫画をレンタルでお得に読める!
- ・街中で見かけて「グッときた人」の思い出
- ・「一気に最後まで読んだ」本、教えて下さい!
- ・幼稚園時代「何組」でしたか?
- ・激凹みから立ち直る方法
- ・1つだけ過去を変えられるとしたら?
- ・【あるあるbot連動企画】あるあるbotに投稿したけど採用されなかったあるある募集
- ・【あるあるbot連動企画】フォロワー20万人のアカウントであなたのあるあるを披露してみませんか?
- ・映画のエンドロール観る派?観ない派?
- ・海外旅行から帰ってきたら、まず何を食べる?
- ・誕生日にもらった意外なもの
- ・天使と悪魔選手権
- ・ちょっと先の未来クイズ第2問
- ・【大喜利】【投稿~9/7】 ロボットの住む世界で流行ってる罰ゲームとは?
- ・推しミネラルウォーターはありますか?
- ・都道府県穴埋めゲーム
- ・この人頭いいなと思ったエピソード
- ・準・究極の選択
- ・ゆるやかでぃべーと タイムマシンを破壊すべきか。
- ・歩いた自慢大会
- ・許せない心理テスト
- ・字面がカッコいい英単語
- ・これ何て呼びますか Part2
- ・人生で一番思い出に残ってる靴
- ・ゆるやかでぃべーと すべての高校生はアルバイトをするべきだ。
- ・初めて自分の家と他人の家が違う、と意識した時
- ・単二電池
- ・チョコミントアイス
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
Excelマクロ ファイル名が変わ...
-
エクセル終了時の保存確認メッ...
-
マクロを消すマクロは不可能?
-
コピーしたファイルのマクロを...
-
VBA マクロ実行時エラー’1004Ra...
-
EXCELマクロ 保存禁止させるに...
-
excelファイルに使われているVB...
-
Latexで英文にルビ訳を付けたい
-
VBAを一度起動するとずっと出て...
-
OpenOffie CalcでOOoBマイマク...
-
【VBA】複数ブックから特定のシ...
-
Microsoft Excelのファイルのエ...
-
Excel2010のファイル形式
-
ビックリマークの意味
-
個人用マクロブックにマクロを...
-
Excelからnotesメールを自動で...
-
秀丸で作った文を、divioutとい...
-
Excelのマクロの解除方法につい...
-
EXCELでマクロを記録する際に、...
-
外部データを取り込むマクロ
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
エクセル終了時の保存確認メッ...
-
昨日まで動いていたエクセルの...
-
コピーしたファイルのマクロを...
-
【マクロ】マクロが割当てされ...
-
VBAを一度起動するとずっと出て...
-
VBA マクロ実行時エラー’1004Ra...
-
別のパソコンでエクセルのマク...
-
アクセスでファイルを開いたと...
-
excelファイルに使われているVB...
-
エクセルマクロ実行中に別ファ...
-
マクロを消すマクロは不可能?
-
外部データを取り込むマクロ
-
エクセルファイルを自身のファ...
-
excelが別プロセスで起動してし...
-
【マクロ】エラーが発生⇒実行時...
-
EXCEL マクロ クリップボードク...
-
Excelが勝手にシート移動してし...
-
Excel2010 PERSONAL.xlsbの挙動...
-
エクセル2013vbaで、見えない名...
-
excelでpersonal.xlsを常に開く...
おすすめ情報