• ベストアンサー
※ ChatGPTを利用し、要約された質問です(原文:TextBoxのhWndプロパティVBAでも使えませんか?)

TextBoxのhWndプロパティVBAでも使えませんか?

e10goの回答

  • ベストアンサー
  • e10go
  • ベストアンサー率38% (47/122)
回答No.2

こんばんわ。 No.1のe10goです。 >VBEditorツールバー上の表示ににあるような「その行内での何桁 >目か」の表示をしたいのが理想です。何か良い方法はないでしょう >か? 下のコードで何とか、「何行目、何桁です。」と表示できました。 Private Sub TextBox1_MouseUp(ByVal Button As Integer, _   ByVal Shift As Integer, ByVal X As Single, ByVal Y As Single)   Dim i As Integer, a As Integer, b As String, c As Integer   a = TextBox1.CurLine + 1   If a > 1 Then    b = Left(TextBox1.Text, TextBox1.SelStart + TextBox1.CurLine)     For i = TextBox1.SelStart To 1 Step -1       If Mid(b, i + TextBox1.CurLine, 1) = vbCr Then         c = TextBox1.SelStart - i - IIf(a > 1, 1, 0)         Exit For       End If     Next i   Else     c = TextBox1.SelStart   End If   MsgBox "カーソルの位置は、" & a & "行目、" & c & "桁です。" End Sub

fuku0123
質問者

お礼

e10go様 fuku0123です。 コードを示していただきましてありがとうございました。 行と桁の変数をmsgboxで出しているところのみ変えて、そのまま 使えることができました。非常に助かりました。

関連するQ&A

  • Access_使用可能プロパティ

    Accessのサブフォーム内のテキストボックスを表示用にしたく テキストボックスのプロパティ「使用可能」をいいえにしました。 しかしデータがないデキストボックスはカーソルを取得しないように なりますが、データのあるテキストボックスはカーソルを取得して しまいます。 他のフォームではデータの有無に関わらずちゃんとカーソルを 取得しないように出来ています。 これは何が原因かお分かりの方お願いしますm(__)m

  • アクセスvba Pictureプロパティを空にする

    フォーム上の全てのコントロールのPictureプロパティを空にする という事をしたいのですが、 Pictureプロパティがないコントロールの場合はエラーになります。 (テキストボックスなど) Sub test() Dim myCtrl As Control Dim myForm As String Dim i As Long myForm = "フォーム1" DoCmd.OpenForm myForm, acDesign For Each myCtrl In Forms(myForm).Controls myCtrl.Picture = Empty Next End Sub Pictureプロパティがあるかどうかを取得したいのですが それってどうすればいいですか? それともOn Error Resume Next でエラーを無視するしかないでしょうか?

  • EXCELのフォームのプロパティを自動設定する方法。

    EXCELのフォームのプロパティを自動設定する方法。 いつもお世話になります。フォーム上の、例えばテキストボックスの位置をVBから変更する手段はありますでしょうか。開いているフォームのプロパティを設定するのは簡単ですが、そうではなくソースのデザイン自体を変更したいのです。 宜しくお願いします。

  • Excel VBAのTextboxについて

    こんにちは。 Excelのユーザーフォームのテキストボックスに、  あああ  いいい と改行されたデータを入力した後、 セルA1に「あああ」 セルA2に「いいい」とできないでしょうか。 Windows2000、Office2003です。 あまり詳しくないので説明不足な点もあると思いますが、よろしくお願いいたします。

  • EXCEL VBA カーソル移動方法?

    エクセル2000でユーザーフォームを作成し テキストボックス1~6まで作成し テキストボックス1~3を1段目、4~6を二段目で配置した場合 エンターキーでケキストボックス1⇒2・・・6のカーソル移動は わかるのですが、テキストボックス2から下に配置してある テキストボックス5に矢印キー↓でカーソルを動かすようにはどのように すればよろしいのでしょうか? 又、おなじようなことなのですがテキストボックス2から 矢印←でテキストボックス1にカーソルを移動させるのも 同じでしょうか? 宜しくお願いいたします。

  • Excel VBAのカーソル位置

    Excel VBAのユーザフォームにTexboxを複数個配置し、このユーザフォームが表示された時にカーソルの位置をコントロールしたいと考えています。 UserformのInitializeの中に何を書けばカーソル位置を決めることが出来るのでしょうか? やり方があれば教えて下さい。 宜しく。

  • VBAで ScreenToClient を使いたい

    Excel VBA で、ユーザーフォームをクリックしたときのポインタのクライアント座標を取得し、フォーム上のラベルに表示するというスクリプトを作ろうと思っています。 ウェブで探し当てたVBのソースなどを参考にして、スクリーン座標を取得するところまではうまくいきましたが、「ScreenToClient」関数の書式がVB のソースと同じでは動かないようで、「コンパイルエラー:メソッドまたはデータメンバがみつかりません」というエラー表示が出て止まってしまいます(「Me」を「UserForm1」に代えても結果は同じでした)。 以下は実際のVBAソースです。どのようにすれば動くようになるのか、ご教示頂けませんでしょうか。宜しくお願いします。 'カーソルの位置座標をスクリーン座標で取得するAPI関数 Private Declare Function GetCursorPos Lib "user32" _ (lpPoint As POINT) As Long 'カーソルの位置座標をスクリーン座標からクライアント座標へ変換するAPI関数 Private Declare Function ScreenToClient Lib "user32" _ (ByVal hWnd As Long, lpPoint As POINT) As Long 'カーソルの位置座標用変数 Private CuP As POINT '位置座標を受け取る構造体 Private Type POINT x As Long y As Long End Type Private Sub UserForm_Click() 'スクリーン座標を取得 GetCursorPos CuP Label1.Caption = "クリック位置のスクリーン座標 X=" & CuP.x & " Y=" & CuP.y '↑ここまではうまく動いています 'クライアント座標に変換 ret = ScreenToClient(Me.hWnd, CuP) Label2.Caption = "クリック位置のクライアント座標 X=" & CuP.x & " Y=" & CuP.y End Sub

  • テキストボックスに表示された行の番号を取得したい

    VB.NETで簡単なテキストエディタを作っています。 テキストボックスをフォームに張り付けることにより、画面表示及び入力は出来るようになりました。それで、ほかのエディタ(秀丸など)のように、カーソルが、ある行にきたとき、その行番号を画面の下のほうに表示しようと考えています。そのため、まず、カーソルが位置づけられている行の行番号を取得したいのですが、その方法がわかりません。テキストボックスのプロパティ、メソッドを探したのですが、そのようなものは見あたりませんでした。どなたかご存じの方おりましたら、ご教授ください。

  • フォーム上のすべてのTextBoxを空にしたい

    現在適用中のコード:(VB2008) Dim objtextbox As Control For Each objtextbox In Me.Controls objtextbox.Text = "" Next 問題: 1、VB6と違い、Captionプロパティがなくなったため、TextBox以外のTextプロパティも空になってしまうので、コントロールがTextBoxのときだけ処理したい。 2、上記のコードだと、フォーム上にあるグループボックスの中は適用されない。In Me.controles 一発ですべてのグループボックスの中のTextプロパティまで処理したい。 3、そんなのは無理という場合、すべてのコントロールをフォームがロードされた状態にしたい。(できれば、CloseしてShowするのは避けたい) いろいろ試してみましたが、うまくコードがかけません。ご迷惑をおかけいたしますが、皆様の知恵をお貸しください。

  • ユーザーフォームのプロパティをVBAで設定したい

    いつも楽しく勉強させていただいております。 Excelのユーザーフォームを使い始めたところです。 コントロールのプロパティの設定を細かいVBAで行いたいのですが、方法がわかりません。 たとえばラベルの位置をそろえたいので 黒いラベル2.Left = 黒いラベル1.Left 黒いラベル3.Left = 黒いラベル1.Left といったコードを書いてUserForm_Initialize()で実行してみたのですが、フォームを閉じると元の値に戻っています。 どうすれば黒いラベル2と黒いラベル3の左端を黒いラベル1と同じにできますか。