新しいアカウントで始めました。

身の回りの出来事や写真が中心です。

LibreOffice24.2でCalcを使い、VBAを使ってみてます。リハビリのクリップの参照を例題に。

2024-07-29 20:10:30 | LibreOffice

前回はバグ、エラーがあったのが気付いていませんでした。可怪しいとおもたのが

Cells(3, 6).Valueで"笑"を追加したのですが、Cells(8,12).Valueにも、有りました。でも文字色が違っていました。

調べてみると、ワークシートの形式を変えたときに、間違いが起きていたようでした。変更前に文字色を変更したものが

そのまま生きていて、実際には文字性を変更する部分が素通りでした。

Geminiに聞いてみたんですが、VBAではSub  foo()と始まるのが、マクロなのか?それ以外の関数など(マクロは

それ単体で実行できるが、それ以外の関数でpr、fnが関数名の先頭につくものは、呼ばれて実行できる)の区分ができない。

なので使用方法で区別する方法で、分ける、

いちばん簡単そうな方法を取ってみました。マクロはmcが先頭についている。

VBAの場合はFunctionが使えるようですが、値を返さななくても良いようです。

コメント
  • X
  • Facebookでシェアする
  • はてなブックマークに追加する
  • LINEでシェアする

LibreOfficeでリハビリのクリップ参照をやってみてました。

2024-07-25 22:30:02 | LibreOffice

マイクロソフトのOffice Pro 2003,2007版の正規ユーザーだったのですが、使えませんでした。理由は不明ですが。

その代わりにフリーのLiibre Officeを入れてましたので、VBA使えるか?期待以上でした。

使える。まあ、問題も有りそうですが、でもフリーですからね。しょうが無いかも。

VBAでは問題が有りそうで、SpecialCellsでしたか?使えませんでした。

前にも書いてましたが、ワークシートの表示の大きさを変えると、ダウンします。自分が試した感じでは

大きさを変える時は、ワークシートの上を広げる、左を広げる、表示されない黒のゾーンが出たら、消えるのを待つ。

それから表示エリアを変える。

原因は不明ですが、GPUのせいか?メモリ不足か?

ワークシートとVBAの画面を表示していると、出やすいようにも感じます。

マクロ、関数を作る時はSub foo()で初めて、End Subで終わるのですが、単独で実行できるSubなのか(つまりマクロ)

または下請けの関数なのか?区別できません。というか?区分する方法を知りません。

今流行りの言語にある、ローカル関数に出来れば、解決と思いますが…。

50行から始まるSub 年月日クリップ番号で検索し文字色変更()は単独で実行できないでしょう。

でもローカル関数と言うにも大きすぎるかもしれません。

コメント
  • X
  • Facebookでシェアする
  • はてなブックマークに追加する
  • LINEでシェアする

前回配列の初期化で悩んでました?

2024-07-22 22:44:00 | LibreOffice

文字色が気に入らないは、初期化で強制代入をしてました。117から152まで。

でも何かおかしい感じしますね。必要な配列を使うには、ReDimを使うと出来そうです。

実はこれにも落とし罠がありました。最後の文字列が""となって、番号が割り当てられました。

実際は何も影響はないようでしたが、でもでも

やはり気に入らない番号が、このやり方では割り当てられますね。

手作業で割り当てるものには、大きい55から小さい方に向かって、割り当てて

PGで割り当てるものには3から1個おきです。今は”尻”が最後で19番が小さい方からの割当がされてます。

Aryk2は文字列、ArycolorはIntegerとしてますが、Variantなので受ける方では、Variantにしないとエラーがでます。!

Ary2(21)が出来てしまいます。Arycolor(21)も出来てしまいます。

一方、Redimを使わないで、配列を固定させれば、上のようなことは起きませんが、データ数の問題がつきまといます。

どんな場合でも、きちんと動くPGを作るのはかなり大変です。自分で使用だけなら、被害は自分だけですので

良いかなあ?大事なので、下は!

Variantのデータは代入してもVariantらしいので、受ける時はVariantで受けないとエラーになります。

配列は代入ではアドレスのコピーで、VariantのデータはVariantで受ける必要があるようです。

そうしないとAryk2(i)みたいなところでエラーになって、考えてしまします。

 

下は前のもので、Aryk2()は文字列でArycolor()はintegerでタイプは一致している。

 

 

コメント
  • X
  • Facebookでシェアする
  • はてなブックマークに追加する
  • LINEでシェアする

LibreOfice24.2による動画の参照方法を振り返ってみる。

2024-07-20 22:54:59 | LibreOffice

下の変更を実行しての結果は上です。

ただこれにもおかしな事があって、ワークシートのエリアを縮小していくと

ハングアップしてしまいます。GPUの問題なのか?LibreOfficeの問題なのか?

でも、再起動で復活が効きますので、なんとかは成りそうですが…。

上の部分は問題は、今のところ無いようです。でも、データのエリアが

Forで指定されてるので、いつかは問題になりそうではあります。

上の、Sub 年月日クリップ番号で検索し文字色変更()は、さらにその上のSub 年月日クリップ番号で検索()を変更してます。

入力部分が無くなるので、inputはコメントにします。

Sub Testでは入力部分のテータを作って、93行から呼んで、動くか?チェックしてみます。

良さそうなので、ワークシートからデータを作ります。

文字色が気に入らないものについては、117行目から152行で文字と文字色を指定します。

セルの文字と保存してある文字色が一致しているか?調べます。162行から167行目。

一致しているなら、次の文字に移ります。保存してある文字と一致してないなら

保存します。次の保存の番号を+1して、文字色の番号は+2しておきます。

データのエリアの文字を全部調べたら

178行目で

Sub 年月日クリップ番号で検索し文字色変更()を呼びます。

176行と177行は使った配列名が違うので、合わせます。これは参照が同じところということで

配列自体は1個しか無いと思います。どんな言語でも同じようです。

違ってたら「ゴメンです」けど。

コメント
  • X
  • Facebookでシェアする
  • はてなブックマークに追加する
  • LINEでシェアする

LibreOffice24.2、リハビリクリップの参照ハイパーリンクを単独セルに変更。

2024-07-18 09:22:31 | LibreOffice

ハイパーリンクは単独のセルにして、クリップの情報は右隣に追加。

20040716の行を追加したんですが、追加情報は文字に色がついてません。

首だけは実行して、文字色が変わりましたが…。

セルの参照の仕方が、変わりました。大きな変更はないと思います。

ただちょっと良くないのが、クリップが1行追加になると、文字色の統一がやり辛いですね。

二次元の配列を使って、文字の内容と文字色を保存しておいて、今まで使ったものがあれば

同じ色に設定して、無ければ文字の内容と文字色を保存する。

文字色を単に番号だけで決めてしまうと、見づらい色があるので、良いのか?やり直しか?の

判断があったほうが、良いかもしれませんね。

 

時間があれば、やってみましょうか?

コメント
  • X
  • Facebookでシェアする
  • はてなブックマークに追加する
  • LINEでシェアする

LibreOffice24.2、リンクを張ったセルの一部色の変更で悩んでました?

2024-07-15 08:45:43 | LibreOffice

B3からI8までのセルの内容を見ると、微妙におかしいです。リンクを張った文字列は同じ色を指定しているのですが

D4に見られるように少し変です。Excelで調べてみると、ハイパーリンクはセル全体で一つのもののようです。

どうやら、セルの一部にリンクを張って、それプラス何らかの情報は許されないようです。

上の図のSub 年月日クリップ番号で検索し文字色変更()は許されないようです。

実行エラーは出ませんけど。

似たようなSub CharctersCheck()ではC1でセルの一部の色の変更はできてるようです。

 

これを直すには、ハイパーリンクの部分と付加的な情報の部分を分けて

2つにするしか方法は無いかもしれません。コードも変わるのが煩わしいですね。

コメント
  • X
  • Facebookでシェアする
  • はてなブックマークに追加する
  • LINEでシェアする

リハビリのクリップ参照、LibreOffice使用、格好がついてきました!

2024-07-13 08:58:27 | LibreOffice

1行で1日のクリップが全てあります。切り分けて、動画ファイルにしてるのですが。Aカラムは切り分ける前の動画にリンクしてます。

運動の種類をやや適当に区分してます。色分けしてます。今は、手作業です。

上はリハビリの実施日「20240618」と切り分けた番号「7」でセルを調べます。

背景色が水色のセルが該当したということです。で、

そのセルのリンク(Cntr+クリック)から動画再生されます。

キーボードから入力は最後に修正すればOKかな?

コメント
  • X
  • Facebookでシェアする
  • はてなブックマークに追加する
  • LINEでシェアする