2017年10月11日

=== 2017/10/31 ===
昨日(2017/10/30)『 version 1709 build 8528.2147 』にてテストした際には
確かに不具合症状が出ていました。

しかし、本日、同バージョンにて再度テストしたところ、不具合症状が消えており、
アドイン登録/解除の際に正しくイベントプロシジャーが実行されました

この間、WindowsおよびOffice環境の変化(アップデート含む)は全くありませんでした。
何か釈然としませんが、取り敢えず「不具合」は消えている(修正されている?)ようです。



(追記 2017/10/30)
10月25日リリースの 『 version 1709 build 8528.2147 』においても
本件不具合は修正されていません。

(追記 2017/10/18)
10月16日リリースの 『 version 1709 build 8528.2139 』においても
本件不具合は修正されていません。

(追記 2017/10/19)
Workbook_Open イベントについては、更に下記の条件がありました。
・アドインダイアログにチェックを入れる際には発生しない
・その後、エクセルを再起動した以降では、エクセル起動時に問題なく発生する

その為、既に『アドインにチェックが入っている状態』では
最新バージョンに更新されても、不具合が表面化しない
と思われます。
Temporary=True タイプのメニュー
   Workbook_Open で作るので、アドインチェック時には出て来ないが、
   再起動以降では出て来る。
   既にアドインチェック済ならば、当然、不具合は全く表面化しない
Temporary=False タイプのメニュー
   AddinInstall で作るので、メニューは全く出て来ない。
   しかし、既にアドインチェック済ならば、メニューが出来上がって保存
   されているので、それが出て来る為に不具合は全く表面化しない

また、アドインの初期処理などは Workbook_Open で行われているでしょうから、
これもまた「既にアドインチェック済」であったならば全く不具合は表面化しません。
アドインチェックを行なうケースでも、エクセル再起動以降ならば Open が動きますから
不具合は見えてこないでしょう。


MS-BLOG :Office 2016 バージョン 1708 以降で
日本語のVBA モジュール名を含むファイルを開くとエラー https://blogs.msdn.microsoft.com/office_client_development_support_blog/2017/08/23/ver1708-issue-japanesenamevbamodule/
上記を含め様々な不具合に溢れた「version 1708 build 8431.2079」に対する
修正アップデート(version 1708 build 8431.2094)が10月4日にリリース
されましたが、そこで更に不可解なバグに遭遇しました。

1708.8431.2094 にアップデートした後に、私の公開ソフトである kt関数アドイン
および kt電話郵便アドインを組み込んでみたところ、アドインメニューが出て来ない。

元々、Excel2016は SDI(Single Documents Interface) のせいで、CommandBarによる
メニュー構築には『少々コツがいる』。
http://addinbox.sakura.ne.jp/Excel_Tips27.htm

これを踏まえた手順でアドインを有効にしても、一向にアドインメニューが作られない。

ステップ実行させたところ、アドインブックの AddinInstall および Workbook_Open
が全く実行されていませんでした。 MsgBox / Debug.Print だけを記述した AddinInstall
および Workbook_Open しかない(標準モジュールも UserFormも無し)テストブックでも
全く同じ結果で AddinInstall および Workbook_Open が実行されませんでした。


何度かテストしている内に、偶に AddinInstall および Workbook_Open が実行される
ケースもあり、その違いを調べた結果・・・・

【アドインブックを置いているフォルダが違う】

という事が判明。その結果をまとめると・・・

〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜
以下の3種のフォルダ内にExcelアドインファイルを置いていると、
1708.8431.2094 では AddinInstall / AddinUninstall / Open イベント
プロシジャーが全く動作しませんでした


(1) OFFICEシステムアドインフォルダ ( Library フォルダ )     C:\Program Files (x86)\Microsoft Office\root\Office16\Library (2) ユーザーアドインフォルダ ( Addins フォルダ )     C:\Users\アカウント名\AppData\Roaming\Microsoft\Addins (3) ダウンロードフォルダ内にある『圧縮ファイルを展開してできたフォルダ』     尚、ネットからダウンロードした圧縮ファイルには限定されません。     ローカル内で作成した圧縮ファイルをダウンロードフォルダ内に展開しても     不具合が出ます(他のフォルダ内で展開した場合は不具合無し)。     また、セキュリティブロック解除済みの状態で不具合が出ています。 上記3種のフォルダで不具合が出たアドインファイルを、上記以外の通常フォルダへ 移動するだけ(アドイン登録は「参照」で直接指定する)で不具合は解消します。 これにより、アドインファイル自体に原因が無い事は明らかです。

〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜

『アドイン専用のフォルダ』にアドインブックを置いておくと、
『アドイン専用のイベントプロシジャー』および Workbook_Open が
実行されなくなるとは、マイクロソフトは全く何を考えて機能追加&
修正を行なっているのか!


尚、今にして思うと、「version 1708 build 8431.2079」においても、アドインメニュー
が作成されなかったように思えます。この時は「日本語モジュール名 不具合」の影響かと
思っていて、深く考えずに直ぐに使用を止めてバージョンダウンした為、詳細な調査は行って
いませんでした。


10月11日現在で検索した限りでは、日本&海外のフォーラム・ブログ等で、この不具合に
触れているところは未だ見受けられません。
一応、Excel2016 の「フィードバック」から報告は送ってあります。



この不具合は、バージョン 1707 (ビルド 8326.2107 )に戻すことで回避できます。

MS-KB:以前のバージョンの Office 2013 またはOffice 2016 クイック実行に戻す方法 https://support.microsoft.com/ja-jp/help/2770432/

「コマンドプロンプト」を管理者として実行し、下記の二つのコマンドを実行します。 cd %programfiles%\Common Files\Microsoft Shared\ClickToRun officec2rclient.exe /update user updatetoversion=16.0.8326.2107 補:バージョン 1707 ビルド 8326.2107 は、コマンドでは [ 16.0.8326.2107 ] と指定します。 バージョンダウンが完了したら、修正の告知&リリースが出るまで自動更新と止めます。 (ファイル > アカウント > 更新オプション > 無効)



AddinBox (本家サイト)
http://addinbox.sakura.ne.jp/



お役に立ちましたら拍手して貰えると嬉しいです

addinbox at 11:26コメント(0)Excel2016Excel/VBA 

2012年01月05日

関連記事: マクロのパスワードロックは駄目?

 マクロ ライブラリをパスワードロックした場合に、マクロ内に記述してある
日本語の文字が壊されてしまい、MsgBox や セル等に出力した際に文字化け
してしまうという問題があり、上記ページに幾つか回避策を紹介しています。
(1) セルから取得する日本語文字列は文字化けしない。
(2) ダイアログエディタで定義したラベル等の日本語文字列は文字化けしない。
(3) Basic コード内で【定数】として使用する日本語文字列は
    (a) 1文字なら chr 関数で記述する。
    (b) 長い日本語文字列は、パスワードロックしない別のライブラリを作成して、
         そこに日本語文字列取得関数を用意する。
(1) は「マイマクロ」 や 「拡張機能」 のマクロでは利用できません。
(3-a) は気の遠くなるような編集作業に二の足を踏みます。
(3-b) ではロック有り/ロック無しのライブラリを同梱する事への管理上の問題もあります。


これらよりも、かなり扱い易い回避策がありましたので紹介します。

     LibreOffice > ホーム > フォーラム > マクロとUNO API
    「ライブラリーをパスワードロックした場合のエラーと文字化けについて

ConvertToURL / ConvertFromURL 関数を利用して、マクロコード上では、UTF-8 エンコード
したものをコンスタントとして記述しておくというものです。

(Step-1)
日本語文字列を  ConvertToURL 関数を利用して UTF-8 エンコードする。
(作業ブックのセルに書き出しておく)
ThisComponent.getSheets.getByIndex(0).getCellRangeByName("A1").String _
= Mid(ConvertToURL("日本語") , 9)
ConvertToURL では 先頭に file:/// が付きますので、Mid関数で取り除いています。

(Step-2)
日本語文字列を出力するマクロ部分では、上記の UTF-8 エンコード文字列を
ConvertFromURL 関数で括って記述する。
MsgBox ConvertFromURL("%E6%97%A5%E6%9C%AC%E8%AA%9E")


【楽】とは言いませんが、かなり扱い易くはなりましたし、そのライブラリ内で完結させる
マクロ記述が可能になります。


お役に立ちましたら拍手して貰えると嬉しいです

addinbox at 15:04コメント(0)マクロ・関数トラブル・バグ 

2011年08月11日

( 関連記事 : OOo.Q&A [ faq4 ] リスト

本日、『 OpenOffice.org Q&A 』 が8月末をもって終了するとのアナウンス
faq/6/281 )が出されました。

長い間、運営お疲れ様でした & ありがとうございました。

幸い、9月以降でも【投稿の中止】のみであり、サイト自体は閉鎖しないという
事ですので、蓄えられたQ&Aの数々は今後も【閲覧オンリー】で利用できる
との事です。


分割作業が途中で止まっていた faq/4 カテゴリですが、これにより、現状での
分割状態で凍結になると思われます。

そこで、【OOo.Q&A [ faq4 ] リスト】ツールを修正しました。
Ver1.10 で施したチェックボックスによる [4a / 4b] [4] の選択を止め、IDの値で
自動的に以下のカテゴリで 表示するようにしました。
        [     1〜  150] ⇒ 4a
        [  151〜1000] ⇒
        [1001〜1150] ⇒ 4b
        [1151〜1819] ⇒

【OOo.Q&A [ faq4 ] リスト】 のダウンロードは こちら です。



お役に立ちましたら拍手して貰えると嬉しいです

addinbox at 15:03コメント(0)雑感 他 

2011年07月26日

【 関連記事 : INI ファイル操作関数

[ Open  Output ] ステートメントでは、存在しないファイル名を指定した場合、
そのファイル名で自動的にファイルが作成されます。

これは、VBAでも、OOo.Basicでも同じです。

ここで、そのファイルパスが【存在しないフォルダ】だった場合には、
どうなるでしょうか?

VBAでは「パスが見つからない」という実行時エラーになって失敗します。
当然、ファイルも作られません。


ところが、OOo.Basic では【存在しないフォルダ】も一緒に作成してくれます
【存在しないフォルダ】を作成した上で、その中に指定のファイルを作成
してくれます。


VBAでは、そこまでやってくれないので、『 SHCreateDirectoryEx 』というWin_APIを
利用してフォルダを作成する必要があります。

「INI 操作関数」の【OOo.Basic ⇒ VBA 逆移植版】では、この点に気付かないまま、
そのまま移植したので、その部分でバグがありました(現在、修正済)。







お役に立ちましたら拍手して貰えると嬉しいです

addinbox at 01:01コメント(0)マクロ・関数OOo に花丸♪ 

2011年04月19日

【 関連記事 : スピンボタンは【動的に作成】のみ
【        : スピンボタンの動的作成(その2)

上記記事で作成するスピンボタンですが、WindowsXP で
ウィンドウスタイルが「XPスタイル」の場合、ボタンの矢印が
変です。

SpinButtonBug1

・ 水平方向の場合、矢印が内向きになります。

・ 垂直方向の場合、下矢印に縞模様が出ます(ブルーとシルバーでも変わります)。

現在の最新版(OOo3.3.0)でも確認されています。
このバグは下記にて報告してあります。

[ Issue# 117891 ]


お役に立ちましたら拍手して貰えると嬉しいです

addinbox at 22:34コメント(0)ダイアログトラブル・バグ 
記事検索
livedoor プロフィール



  • ライブドアブログ