投稿日 | : 2006/04/24(Mon) 22:05 |
投稿者 | : ジュン |
Eメール | : |
URL | : |
タイトル | : Re^4: すべて選択(青色状態)の確認 |
花ちゃん さん
ご返答ありがとうございます。
少し手間どいまして遅くなり申し訳ありませんでした。
詳細なご説明をして頂きお礼を申し上げます。
> RET = POSTMESSAGE(IE_HWND,&H111,&HA044,0)
> 部分的にしか選択できないような場合があるのでしょうか?につきましては
’すべて選択されているか’又は’すべて選択されていないか’の
どちらかです。すみませんでした。
''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''
'テストソース
Private Declare Function APIFINDWINDOW Lib "user32" Alias "FindWindowA" (
ByVal LPCLASSNAME
As String, ByVal LPWINDOWNAME As String) As Long
Private Declare Function PostMessage Lib "user32" Alias "PostMessageA" (B
yVal hWnd As Long,
ByVal wMsg As Long, ByVal wParam As Long, ByVal lParam As Long) As Long
Private Declare Function SendMessageRef Lib "user32.dll" Alias "SendMessageA&q
uot; (ByVal hWnd As
Long, ByVal MSG As Long, wParam As Long, lParam As Long) As Long
Private Const EM_GETSEL = &HB0
Private Sub Form_Load()
Dim Ret As Long
Dim StrIndex As Long
Dim EndIndex As Long
Dim IE_HWND As Long
IE_HWND = APIFINDWINDOW("IEFrame", vbNullString)
If IE_HWND <> 0 Then
Ret = PostMessage(IE_HWND, &H111, &HA044, 0) 'すべて選択
Ret = SendMessageRef(IE_HWND, EM_GETSEL, StrIndex, EndIndex)
Debug.Print StrIndex, EndIndex
End If
End Sub
'''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''
ご提供して下さいましたソースよりテストソースを作成実行してみました。
> Debug.Print StrIndex, EndIndex
@ A
52 52
50 0
50 50
54 54
90 90
容量の多い"IEFrame"でも容量の少ない"IEFrame"でも@、Aはあまり変わらず
上記の開始文字位置と終了文字位置表示は正しいのでしょうか。
又すべて選択を実行しなくともスタートが 0 で エンド が 0 にはなりませんでした。
もし何かお気づきの点がありましましたら、ご指導を願えれば幸いです。
宜しくお願い致します。