Access VBA質問箱 IV

当質問箱は、有志のボランティア精神のおかげで成り立っています。
問題が解決したら、必ずお礼をしましょうね。
本サイトの基本方針をまとめました。こちら をご一読ください。

投稿種別の選択が必要です。ご注意ください。
迷惑投稿防止のため、URLの入力を制限しています。ご了承ください。


388 / 2272 ツリー ←次へ | 前へ→

【11919】エディットコントロールを使った検索方法 さつき 11/1/18(火) 0:18 質問[未読]
【11920】Re:エディットコントロールを使った検索方法 よろずや 11/1/18(火) 6:47 回答[未読]
【11921】Re:エディットコントロールを使った検索方法 さつき 11/1/18(火) 23:16 お礼[未読]

【11919】エディットコントロールを使った検索方法
質問  さつき  - 11/1/18(火) 0:18 -

引用なし
パスワード
   再びこんにちは、さつきと申します。
下記ページに「テキスト 又は リッチテキストでの複数選択方法」という投稿がありましたので、VBではありますが、コードを貼り付けて、DHTMLエディットコントロールを追加し、動かしてみたら、上手くいきました。
h tp://www.gizcollabo.jp/vbtomo/log/archive/vbqanda_33322_0.html#Num33333-0
でも、検索用のフォームですので、
kensaku = "プログラム" を kensaku = テキスト5.Text
などというふうに変えたところ、
コントロールがフォーカスを取得していないときに、コントロールのプロパティまたはメソッドを参照することはできません。
というエラーが kensaku = テキスト5.Text のところで出ます。
どのように直したらよいでしょうか?
どなたかご教示お願いいたします。

Private Sub コマンド7_Click()
  Dim Doc As Object    'MSHTML.HTMLDocument
  Dim Body As Object   'MSHTML.HTMLBody
  Dim objRange As Object 'MSHTML.IHTMLTxtRange
  Dim BMK As String
  Dim kensaku As String
  
  kensaku = "プログラム"
  If LenB(kensaku) = 0 Then Exit Sub
  Set Doc = DHTMLEdit8.DOM
  Set Body = Doc.Body
  Set objRange = Body.createTextRange
  
  Do While objRange.findText(kensaku)
    If Len(BMK) = 0 Then BMK = objRange.getBookmark
    objRange.ExecCommand "BackColor", False, "YELLOW"
    objRange.collapse False
  Loop

  If Len(BMK) Then
    objRange.moveToBookmark BMK
    objRange.scrollIntoView
  End If

  Set objRange = Nothing
  Set Body = Nothing
  Set Doc = Nothing
 
End Sub

【11920】Re:エディットコントロールを使った検索...
回答  よろずや  - 11/1/18(火) 6:47 -

引用なし
パスワード
   Access は、VB とは色々な所で異なります。
その一つが .Textプロパティです。
.Text は、そのコントロールがフォーカスを持っているときしか使えません。
ではどうするかというと、代わりに .Value を使います。

【11921】Re:エディットコントロールを使った検索...
お礼  さつき  - 11/1/18(火) 23:16 -

引用なし
パスワード
   ▼よろずや さん、レスありがとうございます。

>.Text は、そのコントロールがフォーカスを持っているときしか使えません。
>ではどうするかというと、代わりに .Value を使います。
kensaku = テキスト5.Value
としたらできました。
ありがとうございました。

388 / 2272 ツリー ←次へ | 前へ→
ページ:  ┃  記事番号:
1078191
(SS)C-BOARD v3.8 is Free