</head> <body> <h1>ControlGetText</h1> <p>コントロールからテキストを取得します。</p> <pre class="Syntax">Text := <span class="func">ControlGetText</span>(Control <span class="optional">, WinTitle, WinText, ExcludeTitle, ExcludeText</span>)</pre> <h2 id="Parameters">パラメータ</h2> <dl> <dt>Control</dt> <dd> <p>型:<a href="../Concepts.htm#strings">文字列</a>、<a href="../Concepts.htm#numbers">整数</a>または<a href="../Concepts.htm#objects">オブジェクト</a></p> <p>コントロールのClassNN、テキスト、HWND、または<code>Hwnd</code>プロパティを持つオブジェクトを指します。詳しくは<a href="Control.htm#Parameter">Controlパラメータ</a>をご覧ください。</p> </dd> <dt>WinTitle, WinText, ExcludeTitle, ExcludeText</dt> <dd> <p>型:<a href="../Concepts.htm#strings">文字列</a>、<a href="../Concepts.htm#numbers">整数</a>または<a href="../Concepts.htm#objects">オブジェクト</a></p> <p>もしこれらの項目が未設定または省略されたときは、<a href="../misc/WinTitle.htm#LastFoundWindow">最後に見つかったウィンドウ</a>が使用されます。そうでないときは、<em>WinTitle</em>に <a href="../misc/WinTitle.htm">ウィンドウタイトルまたはターゲットウィンドウを識別するための他の基準</a>、および/または<em>WinText</em>にターゲットウィンドウの単一のテキスト要素からの部分文字列(付属のWindow Spyユーティリティを使えばわかります)を指定します。</p> <p><em>ExcludeTitle</em>と<em>ExcludeText</em>はウィンドウのタイトルまたはテキストで除外するために使用します。指定の仕方は<em>WinTitle</em>と<em>WinText</em>に似ていますが、<em>ExcludeTitle</em>はウィンドウのタイトル以外の基準(ウィンドウクラスやHWNDなど)を認識しません。</p> <p>ウィンドウのタイトルとテキストは大文字と小文字を区別します。<a href="DetectHiddenWindows.htm">DetectHiddenWindows</a>関数 と <a href="DetectHiddenText.htm">DetectHiddenText</a>関数で変更しない限り、初期設定では非表示ウィンドウは検出されず、非表示テキストは検出されます。<a href="SetTitleMatchMode.htm">SetTitleMatchMode</a>関数で変更しない限り、初期設定ではウィンドウのタイトルはその中のどこかに<em>WinTitle</em>または<em>ExcludeTitle</em>を含んでいれば一致します。</p> </dd> </dl> <h2 id="Return_Value">戻り値</h2> <p>型:<a href="../Concepts.htm#strings">文字列</a></p> <p>説明: 指定されたコントロールのテキストを返します。</p> <h2 id="Error_Handling">エラー処理</h2> <p>ウィンドウまたはコントロールが見つからないときは、<a href="Error.htm#TargetError">TargetError</a>がスローされます。</p> <h2 id="Remarks">備考</h2> <p class="note"><strong>注:</strong>ListView、ListBox、またはComboBoxからテキストを取得するには、代わりに<a href="ListViewGetContent.htm">ListViewGetContent</a>または<a href="ControlGetItems.htm">ControlGetItems</a>を使用します。</p> <p>取得したテキストが不完全で切り捨てられたように見えるときは代わりに<a href="SendMessage.htm">SendMessage</a>でWM_GETTEXTメッセージを送信してテキストを取得する必要があるかもしれません。これは、アプリケーションによっては、WM_GETTEXTLENGTHメッセージに正しく応答しないため、AutoHotkeyが戻り値を小さくしすぎて、すべてのテキストを収めることができないためです。</p> <p>この関数は、ターゲットコントロール(例えば、大きな文書を開いているエディター)が大量のテキストを含んでいる場合、大量のRAMを使用する可能性があります。ただし、<code>Text := ""</code>のように、変数に何も代入しないことで、使用後に変数のメモリを解放することができます。</p> <p>ほとんどのコントロールタイプから取得したテキストは、各行の終わりを示すために、単独のラインフィード(`n)ではなく、キャリッジリターンとラインフィード(`r`n)を使用します。</p> <p>ControlGetText関数は様々なタイプのコントロールに対して動作させるため、常に低速モードを使用してテキストを取得します。そのため、<code>SetTitleMatchMode "Slow"</code>を実行する必要はありません。</p> <p>ウィンドウ内の全てのコントロールの配列を取得するには、<a href="WinGetControls.htm">WinGetControls</a>または<a href="WinGetControlsHwnd.htm">WinGetControlsHwnd</a>を使用します。</p> <h2 id="Related">関連</h2> <p><a href="ControlSetText.htm">ControlSetText</a>、<a href="WinGetText.htm">WinGetText</a>、<a href="Control.htm">Control関数</a></p> <h2 id="Examples">例</h2> <div class="ex" id="ExBasic"> <p><a class="ex_number" href="#ExBasic"></a> メモ帳のエディットコントロールから現在のテキストを取得し、<var>Text</var>に格納します。この例は、Windows 11以降では、クラシック版のメモ帳を必要とするため、失敗する可能性があります。</p> <pre>Text := ControlGetText("Edit1", "Untitled -")</pre> </div> <div class="ex" id="ExMainWin"> <p><a class="ex_number" href="#ExMainWin"></a> <a href="../Program.htm#main-window">メインウィンドウ</a>のエディットコントロールから現在のテキストを取得し、報告します。</p> <pre>ListVars WinWaitActive "ahk_class AutoHotkey" MsgBox ControlGetText("Edit1") <em>; 上の行で見つかったウィンドウを使用します。.</em></pre> </div> </body> </html>