【先着1,000名様!】1,000円分をプレゼント!

xlsファイルをLibreOfficeで開いたところ、マクロが機能しません。マクロの実行ボタンをクリックしても「Java 実行環境 (JRE) が必要です。JRE をインストールし、LibreOffice を再起動してください」とのメッセージが出てやはり駄目です。Javaは、Java10.67.2.1をインストールしていますから問題ないと思うのですが、なぜこのようなメッセージが出て、マクロが機能しないのでしょう。詳しい方、よろしくお願いします。

このQ&Aに関連する最新のQ&A

A 回答 (2件)

今のところ類似の話があったのは、MacOSX環境でした。

最新JREがインストールされているにもかかわらずエラーが出るという事象で、結局のところはOSの新規インストールからやり直してやっと解決した…みたいなことになっていました。これでは話になりません。

ただ、LibreOfficeはJREなしでも動作するため、オプションで設定を変えれば逃げられる可能性もあるようです。以下のリンク先でそれを試みた事例が紹介されています。「Java仮想マシン(JRE)のインストールなしでマクロを実行させたい」という項です(結構長いページで、真ん中より少し先)。

http://p--q.blogspot.jp/2014/01/libreoffice1.html

ただこれをやったとしても、マクロの互換性問題で動かない可能性はなくなりませんが。ちょっとしたマクロでもすぐに問題を起こす印象だけがありますけどね。StarBasicに書き直すのは猛烈に面倒だし、OpenOffice/LibreOffice CALCでExcelマクロの互換性には期待できないと思った方が間違いない気が。
    • good
    • 0

初めまして。



Ubuntu 14.04LTSとWindows Vista 32bitで動作を比較してみました。

(Ubuntu/Libre Office Calc Ver,4.2.6.3)

マクロを実行をクリックした後で、質問者様と同じエラーメッセージが出ました。

お使いのOSがUbuntuなどのLinux系OSでしたら、ソフトウェアセンターと言う
アプリがあります。それを起動して右上のむし眼鏡のマークがある所に、JREと
入力して検索を掛けます。
検索結果に、LibreOffice XSLT based filtersが有りますので、それの
詳細情報をクリックして開いてください。
追加のアドオンの中に、Java runtime environment using GIJ/Classpathに
チェックをつけて、変更を適用ボタンを押すとインストールされます。

パソコンを再起動した後、Calcを起動してマクロの実行をクリックしたら、先ほどの
エラーメッセージは出なくなりました。

先ずは、これをお試しください。

(Windows Vista/LibreOffice Calc Ver,4.2.6.3)

こちらでは、エラーは出ませんでした。
Javaのバージョンは、Java7なので、質問者様のOSはもっと新しい物でしょうか?

この回答への補足

質問者様のOSはもっと新しい物でしょうか/windows7 java7.0.670.1です。これについての対策をよろしくお願いします。

補足日時:2014/10/04 22:01
    • good
    • 0

このQ&Aに関連する人気のQ&A

お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!

このQ&Aを見た人が検索しているワード

このQ&Aと関連する良く見られている質問

QSub ***( ) と Private Sub ***( ) の違い

初歩的な質問で申し訳ありませんが・・・

自分でコードを書いていても、イベントが発生したりした時の処理で、コードのウィンドウで上のドロップダウンリストで選択できる時の処理などは自動的に[Private Sub Command1_Click( )]などと出てくるのでそのまま使っています。自分で別途プロシージャーを作成する時は[Sub ****( )]としています。
ですがその違いを理解しないまま、自分で作成する時は[Private Sub]ではなくて[Sub]を使っています。

Sub ***( ) と Private Sub ***( ) の違いは何なんでしょうか?
どなたか説明頂けませんか?
よろしくお願いします。

Aベストアンサー

「Sub」の部分にカーソルを置いて[F1]を押せばヘルプが起動します。
「指定項目」のところに「Public」と「Private」の説明がありますよ。
省略して「Sub hogehoge()」とした場合は「Public」とみなされます。

Publicは「すべてのモジュールから呼び出せるプロシージャ」ということになります。
Privateとすると「同じモジュールの中からしか呼び出せないプロシージャ」となります。

もしExcelをお持ちでしたらExcelのVBEで標準モジュールを追加し、「Sub Test1()」と「Private Sub Test2()」を作成してみてください。
そしてExcelの[ツール]-[マクロ]-[マクロ(Alt+F8)]でマクロ実行のダイアログを表示させてみるとわかります。
ここには実行できるプロシージャの一覧が表示されますが、Test1は表示されているけれどTest2は表示されません。
Test1はPublicで、Test2はPrivateだからです。

Qオフィスモバイルでエクセルのマクロは使えますか?

パソコンのエクセルでマクロを使っていますが、先日スマホ(android)にエクセルモバイルを入れたところ、マクロは実行できませんでした。
いま、Windowsのタブレットの購入を検討していますが、最近のものはオフィスモバイルが入っています。
マクロは実行できるんでしょうか?
具体的にはマウスコンピュータのWN892を検討していますが、どなたかご存知の方は教えてください。
また、似たような機種でおすすめが有れば教えてください。

Aベストアンサー

マクロは無理だと思います。
http://windows-keitai.com/?Office%20Mobile/Excel
のサイトの中央部分に
・サポートされない機能
の一覧があります。

QOpenOfficeのファイルをExcelで開くには?(初心者用)

Open Officeで作成したファイルをExcelで開いたら文字化けして出てきました。
OpenOfficeとExcelは互換性があると聞いたのですが、どうすれば見られるのでしょうか?
初心者ですので難しい言葉はナシで教えてください。お願いします。

Aベストアンサー

OpenOffeceは使ったこと無くて、今回興味本位でつかってみたので、全然見当違いのこと書いてたらすいません。
最初に謝っておきます。m(_ _)m
また、質問者さんが問題にしている文字化けの種類と私が試した文字化けの種類とが違うかもしれないので、もしそうだったらすいません。
私の場合の文字化けについては後に書いてある---再現方法---に書いておきます。

OpenOfficeで作成したファイルをExcel形式で保存できるみたいなので、OpenOfficeでファイル形式を再度変換してみたらどうでしょうか?
ファイル形式というのは ファイルの種類をあらわすもので、例えばこのファイルはOpenOfficeで作ったよとかExcelで作ったよとかそんな感じです。
でファイル形式を変換するというのは、ほんとはOpenOfficeで作ったファイルなんだけど、いかにもExcelで作ったように偽造しちゃおうということです。(笑)

今回の質問のExcelで文字化けするファイルを "XXXX.ods" とします。
また、この問題のファイルはOpenOffice の Calc で作ったものとします。(←この表現で合ってるかちょっと不安ですが・・・)

---手順---
1. Excelで開くと文字化けするファイル "XXXX.ods" を OpenOffice の Calc で開く
2. [ファイル(F)] - [名前を付けて保存(A)] で名前を付けて保存のダイアログボックスを表示
3. 「ファイル名(N):」に "XXXX" と入力
4. ダイアログボックスの下の方にある 「ファイルの種類(T):」を "OpenDocument の表計算ドキュメント(ods)" を "Microsoft Excel 97/2000/XP (.xls)" に変更する。
  ※これはお使いのExcelのバージョンに合わせてください。
5. [保存(S)] をクリックすると "XXXX.xls" というファイルができる。拡張子が ".ods" から ".xls" に変わります。
  ※拡張子とは、ファイル名の後に"."で続くやつです。".xls" とか ".doc" とか。
  ※表示されていない場合は表示させてみて下さい。
  ※<参照>http://www.windowsfan.com/xp/tips/contents/file_folder/file_kakuchoushi.htm
6. OpenOffice を終了させる
7. "XXXX.xls" を Excel で開く。
8. 文字化けしなかったら\(^o^)/ばんざ~い

一応、私はこれでうまくいきました。

---今回実験してみた環境----
WindowsXP Professional SP2
OpenOffice2.0
Excel2002

---実験に使ったXXXX.odsファイル---
OpenOffice2.0のCalcで作成。
ファイル名はXXXX.odsで保存。
ファイルの種類は"OpenDocument の表計算ドキュメント (ods)"を使用。(手順の4.のやつです)
ファイルの内容は
[セルA1]Aaa
[セルA2]Bbb
[セルA3]Ccc
※関数などは使っていません。単純な文字列だけのデータです。

---再現方法----
XXXX.ods を Excelで開くと "このファイル形式を認識できません。" とエラーが表示。
エラー内容に[OK] → [完了] として Excel で無理やり開いてみました。
すると元のファイルの面影全くなしで、メチャクチャな文字列がずらずら表示されました。(-.-;)
(多分、バイナリでそのまま読み込んじゃったみたいですね)
上に書いてある手順を実行して、ファイル形式を変換して、再度Excelで開いたらちゃんと開けました。

---ひとりごと----
OpenOffice と Microsoft Office製品の互換性についてですが、相互互換というわけではないみたいですね。
あくまでOpenOffice が Microsoft Office と互換性があるってことみたいですね。
つまり、Excel で作ったファイルは OpenOffice Calc で読み込むことは可能だけど、OpenOffice Calc で作ったファイルは Excel では読み込めないってことかな。
Microsoft Office ありきの OpenOffice なので仕方がないですかね・・・。

OpenOffeceは使ったこと無くて、今回興味本位でつかってみたので、全然見当違いのこと書いてたらすいません。
最初に謝っておきます。m(_ _)m
また、質問者さんが問題にしている文字化けの種類と私が試した文字化けの種類とが違うかもしれないので、もしそうだったらすいません。
私の場合の文字化けについては後に書いてある---再現方法---に書いておきます。

OpenOfficeで作成したファイルをExcel形式で保存できるみたいなので、OpenOfficeでファイル形式を再度変換してみたらどうでしょうか?
ファイル...続きを読む

QLibreOfficeの保存形式

LibreOfficeで新規作成したファイルを保存するときは、
LibreOfficeのデフォルトままodtやodsで保存し作業を進めていくのと、
ファイル新規作成時点でxlsやxlsxなどMicrosoft Officeの拡張子で保存しておき
以降作業を進めていくのと、どっちが普通なんでしょうか?

以下の中でどれが普通というか良いのか迷います。

1.odtやodsのまま作業を進め、Microsoft Officeユーザにデータを渡すときもその形式のまま渡す。
2.相手に渡すときになってファイル形式をMicrosoft Officeに変換したりする
3.LibreOfficeで新規ファイル作成時にxlsやdocなどあらかじめMicrosoft Office拡張子にしておき、それで作業をしていく。

あと、1において、odtやodsのまま相手に渡すと、Microsoft Officeユーザはそれを開けますか?

LibreOffice4.0.2.2
Writer:デフォルト拡張子.odt
Calc:デフォルト拡張子.ods

Aベストアンサー

渡すものなら3.でしょうね。
似ているけど、少し違うところもありますので3.でないと2.で変換した時情報が漏れる心配がある。

>あと、1において、odtやodsのまま相手に渡すと、Microsoft Officeユーザはそれを開けますか?
無理。

Qエクセルで作られた?マクロをエクセル無しで実行できませんか?

ノートパソコンには買ったときからエクセルがインストールされていて、エクセルで作られたと思われるマクロが実行できるのですが、デスクトップにはエクセルがインストールされておらず、マクロが実行できないのです…。フリーソフトのopenofficeというソフトをインストールして実行してみましたが、マクロは起動できませんでした…。なんとかしてデスクトップでマクロを実行できないでしょうか?

Aベストアンサー

こんばんは。

http://oooug.jp/compati/basic/pukiwiki.php?FrontPage

VBA と OpenOffice.org Basic の互換性

というのがあって、読んでみましたが、VBが分る人なら、なんとか作りなおせるのではないでしょうか?
もちろん、ExcelのVBAプロジェクトは使えないわけですから、テキストで出力したものを作り変えることになるとは思います。

例:

VBA
Set oCell = oSheet.Range("A1")
    ↓
OOoBasic
oCell = oSheet.getCellRangeByName("A1")

Qバッチファイルでエクセルのマクロを動かしたい

最近になってバッチファイルを知りました。バッチファイルを使ってエクセルファイルの中に書かれたマクロを動かしたいと思っています。
過去ログの検索をし、マクロが書かれたエクセルを起動させるところまではわかりました。
しかしその先がわかりません。わからない内容は次の二つです。
1)エクセル起動時マクロを有効にするかどうか聞いてきます。自動的に有効で起動させるにはどうしたらいいでしょうか。
2)Macro1という名前のものが001.xlsの中に既に作ってあったとして、これを作動させるにはどのようにしたらいいのでしょうか。
環境はwin xp sp2 office2000です。
過去ログを参考にし、下記記述で001.xlsを開くところまではわかりました。この後をどうすればいいか、よろしくお教えください。
"C:\Program Files\Microsoft Office\Office\excel.exe" "c:\My Documents\001.xls"

Aベストアンサー

こんにちは。

Perl 自体は、また別というか、Wscript.Run で呼び出してもよいと思いますが、
WScript でも、Perl の複雑な処理にはかないませんが、正規表現も持っていますから、多少は似たようなマネが出来ます。

バッチプログラムと違うのは、まず、フォルダを探すことが可能だということと、フォルダを選択する、ダイアログが使えるということです。

個別のファイルのファイルの移動なら、

Const myPATH ="C:\My Documents\

Set objFS = CreateObject("Scripting.FileSystemObject")
Set objFile =objFS.GetFile(myPATH & "Test.txt")
objFile.Move "C:\"

個別のファイルのファイルの削除なら、

Set objFS = CreateObject("Scripting.FileSystemObject")
Set objFile =objFS.GetFile(myPATH & "Test.txt")
objFile.Delete

----------------------------------------------
ワイルドカードも使うようでしたら、
Const myPATH ="C:\My Documents\


Set objFS = CreateObject("Scripting.FileSystemObject")
objFS.MoveFile myPATH &"*.txt", "C:\"

ですし、ファイルの削除なら、

Set objFS = CreateObject("Scripting.FileSystemObject")
objFS.DeleteFile myPATH &"*.txt"

ということになります。

---------------------------------------------
なお、余談ですがVBAの技術は、今はもう停滞したままですが、総じて、テキスト・スクリプト側は、日進月歩、Win XP になってからは、1年ごとに、まるで違う技術が導入されているのです。歯が立たないかもしれませんが、どんな風になっているかは、知っておいたほうがよいかもしれません。昔は、コンパイラーを使った、実行ファイルしたが、今は、テキスト・スクリプトで、ツールを出しています。それは、Office 2007 も同じですね。そして、今は、スクリプトで、.Net FrameWork まで使ってしまおうというのだから、時代は変わっているのです。(知っている人には、間が抜けた発言ですが。)

参考サイト:
ヘイ! スクリプティング ガイ
http://www.microsoft.com/japan/technet/scriptcenter/learnit.mspx

こんにちは。

Perl 自体は、また別というか、Wscript.Run で呼び出してもよいと思いますが、
WScript でも、Perl の複雑な処理にはかないませんが、正規表現も持っていますから、多少は似たようなマネが出来ます。

バッチプログラムと違うのは、まず、フォルダを探すことが可能だということと、フォルダを選択する、ダイアログが使えるということです。

個別のファイルのファイルの移動なら、

Const myPATH ="C:\My Documents\

Set objFS = CreateObject("Scripting.FileSystemObject")
Set objF...続きを読む

QLibre office マクロ

いままで、msOffice エクセルを使ってましたが、将来を考え、LibreOfficeを使いかけています。
エクセルにおいては、自分で作った簡単なマクロをクイックアクセスツールバーのボタンに組み込んで、Enter後のカーソル移動方向を右向きにしたり下向きにしたり、「可視セルコピー」、「値での貼り付け」をワンタッチでできるようにしていました。
Libre Office ではどのような方法があるか調べていたのですが、なかなか思うようにいきません。
とくに、Enter後の移動方向の変更は頻繁に使いたいので、良い方法が知りたいと思います。
もちろん、基本は下方向にしておいて、TABで右向きに動かすという方法はわかっていますが、常にEnterキーで処理したいと思っています。
Libre office に詳しい方いらっしゃいましたらお力頂きたいと思います。

Aベストアンサー

こんにちは。

LibreOffice はなかなか便利だと思います。Office にはない機能もあります。いろいろ探して、私は、お絵かきソフトは、Drawになりました。

ただ、LibreOffice のヘルプはかなり貧弱ですから、既存のコマンドさえ分からない時があります。

マニュアルとしては、JA福岡市が出ているのが詳しいような気がするのです。
http://www.ja-fukuoka.or.jp/libre/781/

https://help.libreoffice.org/Common/Using_Microsoft_Office_and/ja

それと、マクロの話が出ていますが、私は、LibreOfficeの前のOOo(OpenOffice.org)のマクロで挫折したのは、BASICと言いながら、その中身は、決して、VBAの言語とは違う別の言語が透けて見えてくるのと、全体の構成が分かりにくかったのです。

もうひとつは、Microsoft Office は、外部オブジェクトを豊富に使えるという点で、LibreOfficeなどでは、その使い方が分からないということです。ものすごく単純なことでも、その方法が見つからないので、Calcなどの継続的な利用はやめてしまいました。

Excel VBAから、LibreOfficeのコンバーターもありますが、思うようにはいかないようです。それと、LibreOfficeのマクロのBASICには、チュートリアル・サイトもあります。
http://www.debugpoint.com/category/programming/libreoffice/

ご質問に出されている、LbreOfficeで、「Enterキーで(右へ)処理」は、Calc のオプションで「右」を選べばよいのではありませんか?マクロについては分かりませんが。

過去の歴史からすると、コンピュータの主流のアプリケーションソフトが、ある日を堺に、急に市場から消えることもあるかもしれませんね。私は、二度経験しました。しかし、基本的な所を押さえていれば、どんな製品になろうと使えるものなのです。変に、前の使っていたソフトの仕様を求めると、なかなか切り替えができないようです。Lotus123からExcelに移行した人たちなどは、かなり長い間、前のパターンが残ったようです。

こんにちは。

LibreOffice はなかなか便利だと思います。Office にはない機能もあります。いろいろ探して、私は、お絵かきソフトは、Drawになりました。

ただ、LibreOffice のヘルプはかなり貧弱ですから、既存のコマンドさえ分からない時があります。

マニュアルとしては、JA福岡市が出ているのが詳しいような気がするのです。
http://www.ja-fukuoka.or.jp/libre/781/

https://help.libreoffice.org/Common/Using_Microsoft_Office_and/ja

それと、マクロの話が出ていますが、私は、LibreOfficeの前のOOo(O...続きを読む

QエクセルのIF関数で、文字が入力されていたならば~

エクセルのIF関数で文字が入力されていたならば~、という論理式を組み立てたいと思っています。

=IF(A1="『どんな文字でも』","",+B1-C1)

A1セルに『どんな文字でも』入っていたならば、空白に。
文字が入っていなければB1セルからC1セルを引く、という状態です。

この『どんな文字でも』の部分に何を入れればいいのか教えてください。

またIF関数以外でも同様のことができれば構いません。

宜しくお願いします。

Aベストアンサー

=IF(ISTEXT(A1),"",B1-C1)

でどうでしょうか?

Qコマンドプロンプトを使ってipアドレスからコンピュータ名を知る方法

ipアドレスは分かっていますがコンピュータ名が分かりません。リモート接続ソフトなどは使えないので、それでコンピュータ名を調べることはできません。
コマンドプロンプトを使ってipアドレスからコンピュータ名を知る方法を教えてください!

Aベストアンサー

なんか回答がバラバラなので整理しましょう。
調査している自分自身が使用している端末は、Windows XPのPCであると仮定します。
また、調べるのは基本的に外部から名前解決可能な名前(No.2さんの言う"2"に相当する名前)とします。

パターン1:
対象のIPアドレスがWindows端末機で、自分が使用している端末と同じネットワークに属しているか同一のWINSサーバを参照しているとき……No.4さんの答えで検索できます。

nbtstat -A <IP Address>

パターン2:
ネットワーク管理者がDNSをきちんと管理しており、対象IPについても管理者の管理下にある場合……以下2つのいずれかの方法で検索できます。

  nslookup <IP address>

または

  nslookup -q=ptr <reverse ip>.in-addr.arpa.
  ex) 192.168.12.1 のIPを調べたい場合、以下のように入力する
  nslookup -q=ptr 1.12.168.192.in-addr.arpa.

  (DNSサーバで逆引きが設定されていないと、正しく検索できない場合があります)

パターン3:
上記以外の場合

外部から名前解決できないので、調べようがありません。または、調べてもそれが正しいホスト名である保証がありません。
そのIPの端末自体に設定されているホスト名を直接調べるしかありませんが、それには実際にそのIPの端末を操作して調べるしかありません。
つまり、No.2さんの回答となるのですが、
IPを使用しているのがWindows PCやUnixサーバなどである保証はないので、確認するコマンドはその端末の種類(OS)によって異なります。

なお、tracert (traceroute)を使用する、という回答がありますが、これはパターン1またはパターン2のいずれかまたは両方を満たしていないと表示されませんので、厳密には正しい答えとはいえません。
(たいていの場合、"tracert <IP address>" や "ping <IP address>"で用が足りてしまうことも多いので、必ずしも間違いではないのですが)

なんか回答がバラバラなので整理しましょう。
調査している自分自身が使用している端末は、Windows XPのPCであると仮定します。
また、調べるのは基本的に外部から名前解決可能な名前(No.2さんの言う"2"に相当する名前)とします。

パターン1:
対象のIPアドレスがWindows端末機で、自分が使用している端末と同じネットワークに属しているか同一のWINSサーバを参照しているとき……No.4さんの答えで検索できます。

nbtstat -A <IP Address>

パターン2:
ネットワーク管理者がDNSをきちんと管理して...続きを読む

QEXCELファイルのカレントフォルダを取得するには?

EXCELファイルのカレントフォルダを取得するには?

C:\経理\予算.xls

D:\2005年度\予算.xls

EXCEL97ファイルがあります。

VBAで
  カレントフォルダ名
(C:\経理\,D:\2005年度\)
を取得する事は可能でしょうか?

CURDIRでは上手い方法が見つかりませんでした。

Aベストアンサー

こんばんは。
Excel97 でも、同じですね。以下で試してみてください。

Sub test()
'このブックのパス
a = ThisWorkbook.Path
'アクティブブックのパス
b = ActiveWorkbook.Path
'Excelで設定されたデフォルトパス
c = Application.DefaultFilePath
'カレントディレクトリ
d = CurDir
MsgBox "このブックのパス   : " & a & Chr(13) & _
   "アクティブブックのパス: " & b & Chr(13) & _
   "デフォルトパス    : " & c & Chr(13) & _
   "カレントディレクトリ : " & d & Chr(13)
End Sub


人気Q&Aランキング