GetTextDLLを利用して、エクセルブックを文字列取得ツールとして使用します。
基本的には、VB6と同じような処理。
また、VB6やC++などのフォームと同じ様な操作方法とするために、
実行時はブックサイズをコンパクトにしてフォームのような形状で使用します。
DLLの場所
BookPath = ThisWorkbook.Path 'ブックのパス ChDrive left(BookPath, 1) 'ドライブ変更 ChDir BookPath 'カレントディレクトリ変更
「開始」ボタンを押すとテキスト取得開始 「終了」ボタンを押すと終了してシートに戻る 開始⇔終了 は交互に表示変化 また、実行時に「SHIFT」キーを押すと一時停止 キーは任意に変更可。プログラム中で下記の定数を変更 Const PAUSE_KEY = VK_SHIFT 'キーコード Const PAUSE_KEY_NAME = "SHIFT" 'キー名称取得した文字列をコピーするには、「一時停止」後、 テキストボックス内の文字列を選択(または、CTRL+Aで全選択)後、 CTRL+Cでコピーします。右クリックのショートカットメニューは用意していません。 なお、右図「終了」ボタンの右側に数値は、上段左から マウスポインタ座標(pixel)、
ポイントしているウィンドウのハンドル、 ポイントしているウィンドウのクラス名 下段の Name :ライブラリ ・・・ などの項目は、 それぞれDLL内の個別関数を呼び出すことで取得可。 補足: キーの押下判定は、GetAsyncKeyState関数(API)を使用 |
![]() |
'ウィンドウ状態 Private Type ORG_VALUE caption As String 'キャプション windowstate As Integer ' width As Integer 'ウィンドウ幅 height As Integer ' 高さ End Type Dim OrgValue As ORG_VALUE
Const LICENSE_KEY = "xxxxxxxx-xxxxxxxx-xxxxxxxx-xxxxxxxx" '---------------------------------------------------- 'ライセンスキーを登録 '--------------------------- rc = RegistKey(LICENSE_KEY) '----------------------------------------------------