ActiveX コントロールのサイズが変更される不具合は、合わせ技で解決

マイクロソフトサポートでは
「Excel ファイルを開くときに ActiveX コントロールが挿入されていないシートをアクティブにし、その後、コンテンツを有効にしてください。」
とありましたが、これでは完全には回避できませんでした。

参照元:https://support.microsoft.com/ja-jp/help/2557860


困った。フォームコントロールで代替するのはちょっと無理だし…。

試行錯誤の末、下記1+2の対処で解決しました。

【問題1】
リストボックスが、パソコン(解像度などが異なる)によっては1/2リサイズ(縮小)してしまう場合がある。

【対処1】
プロパティを再設定
Enabled を False → これは今回はできないので採用せず。
Locked を True
Integral Height を False

参照元:https://oshiete.goo.ne.jp/qa/1024437.html


【問題2】
対処1により、サイズは縮小しなくなったのですが、代わりにリスト中の文字が2倍ズーム(拡大)してしまいました。

【対処2】
下記のコードを実行して、画面更新
Sub test()
  Dim obj As Object
  
  For Each obj In ActiveSheet.OLEObjects
    obj.Width = obj.Width + 0.1
    obj.Width = obj.Width - 0.1
  Next
End Sub

参照元:http://www.vbalab.net/vbaqa/c-board.cgi?cmd=ntr;tree=56953;id=excel

環境によっては対処2だけでも回避できるようです。

ブログ気持玉

クリックして気持ちを伝えよう!

ログインしてクリックすれば、自分のブログへのリンクが付きます。

→ログインへ

なるほど(納得、参考になった、ヘー)
驚いた
面白い
ナイス
ガッツ(がんばれ!)
かわいい

気持玉数 : 0

この記事へのコメント