よろずやネット

最近はLibreofficeにハマっています。

Libreoffice Openoffice Macro BASIC

LibreOffice、自身のファイル情報を取得する。

LibreOffice、自身のファイル情報を取得するマクロです。 Sub SelfFileDirName下記を取得します。 1.自身のファイル名 2.自身のファイルパス 3.自身のディレクトリ Sub SelfFileDirName Dim oUrl As String Dim FileName As String Dim FilePath As St…

LibreOffice Calc、用紙の余白を設定する

印刷ジョブの基本、用紙の余白を設定するマクロです。 Sub SetPageMargin Option Explicit Sub SetPageMargin Dim oSheetStyle As Object oSheetStyle = ThisComponent.StyleFamilies.getByName("PageStyles").getByName("Default") With oSheetStyle ' 100 …

LibreOffice Calc、用紙の向き(縦長、横長)を設定する

印刷ジョブの基本、用紙の向きを設定するマクロです。 Sub SetPageOrientation Sub SetPageOrientation ' 列挙型(enumeration type)を使用 'Enum PaperOrientation ' https://api.libreoffice.org/docs/idl/ref/namespacecom_1_1sun_1_1star_1_1view.html Di…

LibreOffice Calc、用紙サイズを設定する

印刷ジョブの基本、用紙サイズを設定するマクロです。 サンプルは下記の2種類。1. Sub SetPageSize (用紙の実寸値を使用する方法) 2. Sub SetPageSize2 (列挙型(Enum)を使用する方法) Sub SetPageSize ' 実寸を使用 Dim oSheetStyle As Object oSheetStyle …

LibreOffice Calc、各セルへの値の書き込みの高速化(配列を使用)

配列を使うと各セルへの値の書き込みが劇的に高速化します。 配列を使用した下記コードでは、所要時間1秒以下で10万個のセルへの書き込みが完了します。 LibreOffice Calcのマクロの欠点である「遅さ」を解決します。【フロー】 1.データを配列に格納し…

LibreOffice Calcのマクロ実行中に画面更新を完全に無効にする

LibreOffice Calcでエクセルの Application.ScreenUpdating = False のようなコードを実行してもシート移動操作を伴った場合にマクロ実行シート以外のシートが表示されてしまう事があります。LibreOffice Calcでで画面更新を完全に無効にするには、マクロ動…

CalcでMariaDB MySQLに接続、SQLクエリーを実行して結果(ResultSet)を取得

CalcでMariaDB MySQLに接続、SQLクエリーを実行して結果を取得【準備編】 https://yorozuyanet.hatenablog.com/entry/2019/08/11/020512 の続きです。 ---コードサンプル ここから---- Option Explicit ' Declaration Var --Public DBConnString As StringPu…

CalcでMariaDB MySQLに接続、SQLクエリーを実行して結果を取得【準備編】

Libreoffice Openoffice の Calc は、Macro (BASIC) でデータベースに接続しSQLを送信して結果をレコードセットとして取得する事ができます。クライアント&サーバーシステムのクライアント側をLibreofficeで構築する事が可能です。 前提条件: パソコンにJR…

Libreoffice Openoffice Macro, Calcファイルをエクセルxlsx形式で保存する

Libreoffice OpenofficeマクロでCalcファイルをエクセルxlsx形式で保存する方法です。下記のサイトにたどり着くまで1週間かかりました。現時点でグーグルで検索ヒットする日本語情報はありません。 https://bugs.documentfoundation.org/show_bug.cgi?id=990…