問題タブ [libreoffice-basic]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票する
1 に答える
906 参照

matrix - LibreOffice Basic (LibreOffice Calc) を使用した行列の操作

正規化された行列を取得するために、 4 × 6 (コードでは m×n) 行列のすべてのセルで次の式を使用します。
\pi_{ij}=\frac{x_{ij}}{\sqrt{\Sigma_{i=1}^m x_{ij}^2}}

Calc の行列は次のとおりです。
ここに画像の説明を入力

LibreOffice で次の Basic コードを使用します。

正規化されたマトリックスを元のマトリックスの右側に表示したいと思います。しかし、何も表示されません。私は何を間違っていますか?

0 投票する
1 に答える
102 参照

libreoffice - 最後の Kubuntu へのアップグレード後、LibreBase の autoopen マクロ

ブックマークに移動するlibreofficeマクロの微調整で受け取ったアドバイスとここでも、LibreWriterでカーソルが最後にある最後のポイントに移動するマクロを作成することに成功しました。

Kyubuntu 17.04 から Kubuntu 17.10 にアップグレードした後、新しいバージョンの LibreOffice を使用すると、Writer ではなく Calc ではなくBaseでエラー メッセージが表示されます。

BASIC ランタイム エラー。プロパティまたはメソッドが見つかりません: supportsService

行が強調表示されますIf NOT thisComponent.supportsService (" com.sun.star.text.TextDocument ") Then。LibreBasesupportsServiceでは認識されないようです。

マクロ全体を参照します。

0 投票する
1 に答える
561 参照

html - Calc cellRange を RTF/HTML に変換する LibreOffice Basic Macro コマンド

私の目標は、LibreOffice calc シートに入力し、ユーザーが送信ボタンをクリックしたときに (そしてもう一度確認するために)、電子メールでセル範囲を静かに送信することです。

したがって、これには 3 つの部分があります。

  • 確認を要求する押しボタン。(簡単で完了です。)
  • セル範囲を選択し、リッチテキスト形式に変換します (まだ見つかりません)
  • シート内からリッチ テキスト メールを送信します。(「サイレント」部分は後で扱います)

unoService を使用して範囲をクリップボードにコピーしようとしましたが、複雑すぎてエラーがいっぱいのようでした。

ここに私が持っているものがあります:

メソッド、プロパティ、uno についての 3 日間の調査の後でも、私はまだわかりません。

私の質問は、簡単に言えば、転送可能なコンテンツを HTML/RTF に変換するにはどうすればよいですか?

0 投票する
1 に答える
440 参照

function - マクロの記録時に組み込みの Calc 関数を使用する

私は Excel for Engineers に取り組んでおり、それを LibreOffice Calc に適応させようとしています。問題が発生しました。マクロを使用しない方が簡単なのはわかっていますが、冗談です。演習の 1 つは、次のように入力して、マクロの記録を開始することです。

Enterキーを押して録音を停止します。

マクロを実行しても何も起こりません。他の Calc 組み込み関数を使用しようとしましたが、同じことが起こります。マクロ基本ファイルを見て、何も起こっていないことを確認してください。

マクロの記録時に組み込み関数を使用できますか? もしそうなら、どのように?

0 投票する
1 に答える
926 参照

python - Basic 関数から Python スクリプトを呼び出す際のエラー

私はPythonとBasicが初めてです。LibreOffice (LO) Calc で Google スプレッドシートから IMPORTHTML 関数を複製しようとしています。簡単に言えば、Python スクリプトを呼び出して重い作業を行う GetHtmTable( Url, Table Index) Basic 関数を Calc で作成したいと考えています。

Villeroy の素晴らしい例に基づいて、LO 5.1.6.2 で実装しました。プロセスに慣れるためにPython スクリプトを呼び出す基本的なSOUNDEX関数。sheetFunctions.py私の環境は Linux Mint 18 です。Python 3 を使用し、Uno、PIP などのあらゆる種類のライブラリをインポートしPycharmProjectsました。Python エディターとして使用しています。

LO Calc メニューの tools->macro->organize macros->python の下に、sheetFunctions.py確かにフォルダー内にある Python スクリプトがはっきりと表示されます/usr/lib/libreoffice/share/Scripts/python

SOUNDEX Basic 関数を実行すると、次のエラー メッセージが表示されます。

BASIC ランタイム エラー。例外が発生しました タイプ: com.sun.star.script.provider.ScriptFrameworkErrorException メッセージ: : ファイルを開くときにエラーが発生しました
/usr/lib/libreoffice/program/pythonscript.py:429 関数 getModuleByUrl() [lastRead = self.sfa .getDateTimeModified( url )]
/usr/lib/libreoffice/program/pythonscript.py:993 in function getScript() [mod = self.provCtx.getModuleByUrl( fileUri )]

SOUNDEX の基本機能をデバッグしようとしたところ、ブロッキング ポイントはプログラムの実行時であることがわかりましたgetScript("vnd.sun.star.script:sheetFunctions.py$soundex?language=Python&location=user")

私はこのエラーを克服するために何日も試みてきましたが、失敗したことを告白しなければなりません.

Basic 環境に追加の拡張機能を追加する必要があるのか​​、それとも Linux/Python 環境に欠落しているアドインを追加する必要があるのでしょうか?

location=userlocation=documentで変更したところ、また行き詰まりました。コマンドのおかげで最近 libreoffice-script-provider-python を追加しましたsudo apt-get install libreoffice-script-provider-pythonが、これは役に立ちませんでした。また、Calc ドキュメントに Python スクリプトを埋め込みましたが、これでも問題は解決しませんでした。

0 投票する
0 に答える
51 参照

csv - Openoffice/Libreoffice は、csv ファイルを保存するときに値を丸めます

プログラムを使用して csv ファイルを生成します。Libreoffice を使用して、自分がしていると思っていることと実際に行っていることが一致しているかどうかを確認します。しかし、csvファイルをオフィスに保存すると、「示されているように」発生します。つまり、実際には値が変更されるため、結果は結局一致しません。

したがって、値は1.756で、フォーマットのために1.76として表示され、警告なしで1.76として保存されます。csv へのエクスポートと同じ問題ですが、[セルの内容を表示どおりに保存] オプションのチェックを外すことができます。同様の保存オプションは見つかりませんでした。

オフィスが密かに私のデータをゴミに変えるのを防ぐ方法はありますか?

0 投票する
1 に答える
1877 参照

libreoffice - LibreOffice/OOo UNO - API リファレンスはどこで入手できますか?

LibreOffice Basic を使用して Writer マクロを作成しようとしています。まず、ページにスタイルを適用するマクロを記録してみました。次のようなコードが生成されました。

私の質問は: のパラメータの説明はどこで入手できますuno:StyleApplyか? ドキュメント、リファレンスなどを検索してみましたが、この機能に関する情報が見つかりません。助けてください。

0 投票する
1 に答える
145 参照

libreoffice-calc - LibreOfficeマクロで数式なしでこのセルの値を取得するにはどうすればよいですか

私はLibreOfficeマクロに取り組んでおり、コピーアンドペーストマクロに取り組んでいます。マクロを作成できましたが、問題があります。

私が書いたとき、それは数式で貼り付けられますが、数式でコピーしたくありません。

for ループのため、座標を使用して記述する必要があります。

これが私のコードです:

どうすればいいですか?手伝って頂けますか?

0 投票する
1 に答える
160 参照

python - 2d libreoffice calc 名前付き範囲を Python 変数に割り当てる方法。Libreoffice Basicでそれを行うことができます

質問に対する簡単な答えが見つからないようです。私はこれをLibreoffice Basicで正常に動作させています:

次に、MainRange を反復処理して、関心のある行を取り出します。

Pythonマクロで同様のことを行うことはできますか? 2d の名前付き範囲を Python 変数に割り当てることはできますか?それとも、範囲を反復処理して個々のセルを割り当てる必要がありますか?

私はPythonを初めて使用しますが、高速化を期待して、反復集中マクロ関数をPythonに変換したいと考えています。

どんな助けでも大歓迎です。

ありがとう。

0 投票する
1 に答える
790 参照

libreoffice - Libreoffice Base マクロ - フォーム上のコントロールを表示/非表示にする方法は?

2 つのコンボボックスを含むデータベース フォームを作成しましCombo1Combo2Combo2可視性はCombo1ステータスによって異なります。Combo1チェック済み、Combo2可視。Combo1チェックなし、Combo2非表示。

私は何かを見つけることを期待しCombo2.setVisible(Combo1.isVisible())ていましたが、私はあまりにも楽観的でした.

これは私が遊んでいるマクロです:

正しく印刷Combo2されるので、適切な参照があると思います...

そしていま?

今日は、私が Libreoffice Base (およびそのバグ) で遊ぶ最初の日です。これは、明日のデモに追加したい素晴らしいものです。Microsoft スイートでも Libreoffice スイートでもマクロの前に使用したことがないため、非常にゆっくりと動いています。

最後に BASIC を使ったのは 1990 年頃だったと思います。

私はオンラインで多くのチュートリアル (通常は Libreoffice Calc セルに基づく) を調べ、Andrew Pitonyak による両方の主要な書籍 (「OpenOffice.org の有用なマクロ情報」および「OpenOffice.org マクロの説明 (OOME)」) を文字列検索しましたが、たくさんのスニペットを試してみましたが、どこにも行きませんでした。

libreoffice マクロと同じ- テキストフィールドで enablevisible を切り替えます

ポインターはありますか?