ms office2003のツールバー設定を他PCに移す

MS Office 2003の情報は、今やネット上に情報が少ないので、まとめておきます。

1)Execlの場合

ユーザフォルダから、特定ファイルを移動元から、移動先にコピーし、Execlで開きます。一回で出来ない場合があるようです。数回やってみます。

2)Wordの場合

他officeツールとことなり、レジストリ保持のようです。移動元PCでエクスポートして、移動先で登録します。

3)パワポの場合

特定ファイルのコピーだけで済みます。

VAIO Pro PG / VJPG11*を、500GB NVMe SSDに換装する

お出かけ用開発期「VAIO Pro PG / VJPG11*」は、Win11対応のCPU、RAM 8GB、指紋認証、made in Japan、軽量、中古なら3万円程度ととでも良いマシンです。しかしWindows、組込み、モバイルと開発環境をいれると、ストレージ容量はいっぱいです。SSDの換装に踏み切ります。

「CrysalDiskinfo」で調べると元々搭載されていたSSDは以下のとおりでした。

SAMSUNG MZNLM256HAJQ

日本設計と安さと以下のものを選びました。この時5,480円でした。

KIOXIA 内蔵 SSD 500GB NVMe M.2 Type 2280 PCIe Gen 3.0×4

購入してみて、最近のノート用SSDのインターフェイスも「SATA」と「PCIe」の二種類があるとは知りませんでした。オリジナルは「SATA」です。果たして使えるのでしょうか?

VAIOサポートサイトでは、別モデルですが近い年式では対応していると情報がありました。

「VJS111,VJS131,VJZ131*] PCI Express対応SSDについて」

VAIOを開けます。VAIO Zなどと比べると開けやすく、SSDも簡単に外せます。KBとのフラットケーブルはロック解除方法が分からず、外さず作業しました。SSDの長さもマッチしてました。

内容のコピーは、NVMe用のSSDコピー用アダプタは種類も少なく高く、コピーツール無しで以下のように行います。

  1. SSD-USBメモリに、Windows Backupで換装前のディスクイメージを作成。
  2. Window 11起動USBメモリを作成。
  3. SSDを差し替え。
  4. 上記2で、上記1をディスクイメージを回復させる。

BIOSは、新しいSSDを認識しているので、「PCIe」でも行けそうです。しかしOS起動時に「INACCESSABLE_BOOT_DEVICE」なるエラーが出ました。

Windows11の「自動復旧」が効いたのか、何回か再起動を繰り返していると治りました。SSDの認識状態は、以下のとおりです。転送速度は倍早いらしいですが気持ちそんな感じ。温度が高めなのが気になります。

専用のユーティリティが用意されているのもユニークです。

しかし、アプリテスト用Windows10英語は動作しなくなりました。古いWin10はドライバが対応していないのかもしれせん。こちらはOS再インストールしました。

Office2003は未だ認証できるか?

やっぱりofficeは2003が完成形。C#化された最近は、余計な機能で効率が落ちます。吹出しのデフォルト文字と背景色、吹出しの書式付きコピー、右ペインに出る書式や図形のプロパティ、図形グループ化後の図形移動、shiftよよる水平垂直線の廃止、見にくい游ゴシックフォントなど。良いところは、Execelの行数上限UPくらいですかね。2022だと多少ユーザが切替れるようになっているようではあります。

外部に提出時に変換すれば一応セキュリティ面も保たれるかと、まだ内部は2003です。PCを追加したので2003を追加導入。2021年は、オンラインライセンス認証できましたが、2023年5月はどうでしょうか?

まだいけますね。ヨカッタ。

Xamarin Projectを下位Version移す時

DISKTOPでVS2019で作成しているXamarinのProjectを、移動中作業のためVS2017 を入れた低スペックノートに移すと以下のエラーがでました。なるべくメモリ食わないVisual Sdudioを入れたいのですが、、、

メッセージ形式は以下のような模様てす。

The ${TargetFrameworkVersion} for プロジェクト名(現在のandroid SDKバージョン) is less than the minimun requied ${TargetFrameworkVersion} form Xamarin.Froms(必要なandroid SDKバージョン ) You need increase the ${TargetFrameworkVersion} for プロジェクト名.

どうもVisual Studioバージョンに対して、使えるAndrod SDK バージョンが決まっているようです。VS2017に、上位バージョンのAndrod SDKを無理くりコピーしてに認知されません。

Androd SDK の上限とVisual Studioバージョンをインストールしながら試すと以下ようでした。

Visual StudioAndrod SDK
2017-15.48
2019-16.09
2019-16.410
2019-16.711

対策は、*.csproj をエディタで開いて編集すると良いようです。

  <PackageReference Include="Xamarin.Forms" Version="5.0.0.2515" /> 

ここはどうもProject作成時に設定されて、IDEが直接変更できないようです。VS2017に対応されるには以下のように修正します。

<PackageReference Include="Xamarin.Forms" Version="3.4.0.1008975" /> 

*.csproj は、「プロジェクト名」のフォルダと、「プロジェクト名_Andriod 」の2つあります。両方を修正します。

しかし、「ダークモード」はAndrod SDK 10からサポートのため、「ダークモード」判定を入れているプログラムは、そのimportと判定部を避ける必要がありました。

AWS IoT Mqttのエラー処理

AWS IoTにてサーバリクエストを行う「MQTT」。比較的簡易ですが、エラー処理面でやや留意点がありました。必ずしもではないかとおもいますが、記録しておきます。機器はラズパイ、言語はPythonです。

1 . connect()でエラーになりやすい場合

インターネットおよびLANも生物ですから不安定な場合もあります。そのせいか当方では、MQTTクライアントのconnect()メソッドでエラー一時的に多発しました。

よくよく調べると、connect()メソッドのタイムアウトのデフォルト値は5秒です。

これではすぐに引っかかりそうです。AWSサーバで生成した「接続キット」のサンプルコードのままではNGです。30秒は欲しいところです。以下のように修正しました。

    mqttc = AWSIoTMQTTClient(clientId)
            ( 中 略 )
           
    mqttc.configureConnectDisconnectTimeout(30)  
    mqttc.configureMQTTOperationTimeout(30)
    mqttc.connect( )

ついでに、publish()メソッドのタイムアウト値も延ばしておきます。

2 . publish()がエラーにならずスルーする

publish()メソッドのエラー検出のテストのため、テストコードで先にmqttc.closeメソッドし、publish()したところ、エラーにならずスルーしました。

これは疑似的なので仕方ないと、実機テストに踏み切ったところ、たまたまネットワークが切れ、サーバ受信にできなかったのですが、publish()側では正常スルーなりました。ネットワーク本体が切れると、スルーしてしまうのかな?

しかなく、Pythonスクリプトとは別に、シェルスクリプトでネットワークデバイスを、数秒置きに監視しするようにしました。当方では、4Gによるppp接続だったため以下のようにした。

while [ 1 ]
do
    ifconfig ppp0 > /dev/null
    RET_PPP=$? 

    if [ $RET_PPP -eq 0 ];then
	PPP_ON=1
    else
    	# flash disk cash
	sync
	sync
	sync
	shutdown -r now
    fi

    sleep 30
done

少し乱暴ですが、pppが切れる要因によっては復帰できない場合もあるため、一律リブートとしました。