ExcelでDXライブラリを使う続き

アバター
imamikay
記事: 0
登録日時: 11年前

ExcelでDXライブラリを使う続き

投稿記事 by imamikay » 11年前

前回につづいてExcelでDXライブラリを使うはなし・・・

C#用のDXライブラリ(Dxlib.dll)はExcelVBAで動かせるけど
「DxLib_End」を呼ぶとExcelごと終了してしまう = 開発し辛い
という訳で、これをどうにかExcelを終了しないようにできないものかとプログラムでいろいろ試していてわかったことがあります

正確には、前回の日記の時点でわかっていたことですが決めてが見つからなかったので調査してみました
結論から言えば、挫折しました。

前回の日記に
ウィンドウを最小化してからであればウィンドウのみを終了できる と書きましたが
この「ウィンドウを最小化してから」だとうまく終了できる理由が全く見当もつかず
最新のDXライブラリのソースを見てみたりしたのですがわかりませんでした。

しかし、実際に起動中のウィンドウを最小化してからだとExcelは終了しない

自分の環境が原因なのかと思い友人パソコンのExcel2007で試してみるも結果的は同じ

ちなみに、3回に一回くらいの割合で直接 「Dxlib_End」を呼び出してもExcelが終了しないことが友人のパソコンで判明

ウワァァ-----。゚(゚´Д`゚)゚。-----ドウイウコト!!!!?

でもまぁ、よくわからないけど終了はできるので一応モジュールに関数を定義することにしてみた

CODE:

Function DxLib_End_forVBA() As Long
    ChangeWindowMode DXTRUE 'フルスクリーンで起動していても大丈夫なように
    ShowWindow GetMainWindowHandle(), SW_MINIMIZE 'ウィンドウを最小化
    DxLib_End
End Function
添付ファイル

[拡張子 zip は無効化されているため、表示できません]

最後に編集したユーザー imamikay on 2013年12月24日(火) 03:51 [ 編集 1 回目 ]

コメントはまだありません。