Sub UserFormOpenSet() Dim varTop, varLeft With Sheets("説明シート").Range("C5") varTop = .Top varLeft = .Left End With With UserForm .Show .Top = varTop .Left = varLeft .Label1.Caption = "コメント内容" ・ ・ ・ End With End Sub 0015デフォルトの名無しさん (ワッチョイ a95f-DZpR)垢版2021/09/14(火) 23:56:12.55ID:OBquwEh60>>14 UserForm top left でググッたらこんなページがhttps://www.officepro.jp/excelvbaform/form_form/index4.html 検証してないけど試してみたらどうですかね 0016デフォルトの名無しさん (ワッチョイ 2a05-0MLo)垢版2021/09/15(水) 00:23:15.17ID:8Tg1g6H40>>15 UserForm top left セルの位置 でググったら 完璧なTipsがありました! 検索のヒントをありがとうございました! 0017デフォルトの名無しさん (ワッチョイ 7990-xJJl)垢版2021/09/15(水) 00:48:53.61ID:YsJqQLCb0 どーでも良い質問なんだが、VBAからエクセルのセルに値を入れるときの表現について 意見が割れてるので、みんながどー表現してるか知りたい
VBAの仕様書でVBA側を主体にしないのはどうかと思うが (マクロ付き)エクセルの仕様書だと考えればまあ入力でもいいのかも 0028デフォルトの名無しさん (ワッチョイ a6ba-WYzC)垢版2021/09/15(水) 23:30:54.86ID:IO2bkDAL0 985なのですが、 ttps://whois.nic.ad.jp/cgi-bin/whois_gw?key=182.22.16.251 から b. [ネットワーク名] YAHOO-NET をVBAで抽出するいい方法はあるでしょうか? 0029デフォルトの名無しさん (JP 0Hc9-dGLa)垢版2021/09/16(木) 00:13:25.85ID:/erdykE4H>>28 Sub ネットワーク名取得() With CreateObject("MSXML2.XMLHTTP") .Open "GET", "https://whois.nic.ad.jp/cgi-bin/whois_gw?key=182.22.16.251", False .Send For Each s In Split(.responseText, vbLf) If InStr(s, "ネットワーク名") Then Debug.Print s Next End With End Sub 0030デフォルトの名無しさん (ワッチョイ a95f-+10e)垢版2021/09/16(木) 00:59:42.68ID:5Hx4RpZ/0 一生使うことのなさそうなCreateObjectだな 0031デフォルトの名無しさん (ワッチョイ 662c-0MLo)垢版2021/09/16(木) 01:49:26.07ID:tvb8xhvB0>>28 shift-jis の古いサーバーっぽい。 Ruby で作った
elements = doc.css( "pre" ) text = elements.first.content # 1つ目のpreの内容
result = "エラー! 該当なし" text.each_line( chomp: true ) do | line | # 改行を除去して、各行を処理する if line.start_with? "b. [ネットワーク名]" # 行頭が何々で始まっていれば result = line break end end
Private Declare PtrSafe Function CLSIDFromString Lib "ole32" (ByVal pString As LongPtr, ByRef pCLSID As Currency) As Long Private Declare PtrSafe Function RegisterWindowMessageW Lib "user32" (ByVal lpString As LongPtr) As Long Private Declare PtrSafe Function SendMessageTimeoutW Lib "user32" (ByVal hWnd As LongPtr, ByVal msg As Long, ByVal wParam As LongPtr, ByRef lParam As LongPtr, ByVal fuFlags As Long, ByVal uTimeout As Long, ByRef lpdwResult As Long) As LongPtr Private Declare PtrSafe Function ObjectFromLresult Lib "oleacc" (ByVal lResult As Long, ByRef riid As Currency, ByVal wParam As LongPtr, ppvObject As Any) As Long Private Enum SMTO NORMAL = 0 BLOCK = 1 ABORTIFHUNG = 2 NOTIMEOUTIFNOTHUNG = 8 End Enum
Sub test() Dim hWnd As Long hWnd = 136698 Set objDoc = GetHtmlDocument(hWnd)
End Sub 0079デフォルトの名無しさん (ワッチョイ 9701-IhC7)垢版2021/09/19(日) 14:06:52.91ID:IfToBfi40 続き Public Function GetHtmlDocument(ByVal hWnd_InternetExplorer_Server As LongPtr, Optional ByVal uTimeout As Long = 1000, Optional ByVal documentVersion As Integer = 1) As Object ' As MSHTML.IHTMLDocument Set GetHtmlDocument = Nothing
If documentVersion <= 0 Then documentVersion = 1 ElseIf documentVersion >= 8 Then documentVersion = 8 End If Dim IID_IHTMLDocumentX As String IID_IHTMLDocumentX = Split(",{626FC520-A41E-11cf-A731-00A0C9082637},{332c4425-26cb-11d0-b483-00c04fd90119},{3050f485-98b5-11cf-bb82-00aa00bdce0b},{3050f69a-98b5-11cf-bb82-00aa00bdce0b},{3050f80c-98b5-11cf-bb82-00aa00bdce0b},{30510417-98b5-11cf-bb82-00aa00bdce0b},{305104b8-98b5-11cf-bb82-00aa00bdce0b},{305107d0-98b5-11cf-bb82-00aa00bdce0b}", ",")(documentVersion - 1) Dim InterfaceId(1) As Currency Call CLSIDFromString(StrPtr(IID_IHTMLDocumentX), InterfaceId(0))
Dim lngMsg As Long lngMsg = RegisterWindowMessageW(StrPtr("WM_HTML_GETOBJECT")) If lngMsg <> 0 Then Dim lpdwResult As Long If SendMessageTimeoutW(hWnd_InternetExplorer_Server, lngMsg, 0, 0, SMTO.ABORTIFHUNG, uTimeout, lpdwResult) <> 0 Then Dim hResult As Long hResult = ObjectFromLresult(lpdwResult, InterfaceId(0), 0, GetHtmlDocument) If hResult <> 0 Then Err.Raise hResult End If End If End If End Function 0080デフォルトの名無しさん (ブーイモ MMbf-nVhm)垢版2021/09/19(日) 14:13:18.62ID:qcTxghfBM gethtmldocumentにnavigateあるのか? 0081デフォルトの名無しさん (ワッチョイ bf8c-xsW+)垢版2021/09/19(日) 21:14:40.95ID:+Er1+t3H0 navigateじゃなくてcreateDocumentFromUrlじゃないの? 知らんけど 0082デフォルトの名無しさん (ワッチョイ 9f6b-W1il)垢版2021/09/20(月) 00:12:39.27ID:wP8fgZ+m0 A1からA10000にデータが有って検索したい文字列があったとする。 この場合,範囲をdictionaryで調べるのと配列で調べるのは速度は同じぐらい?? 0083デフォルトの名無しさん (ワッチョイ 57da-nVhm)垢版2021/09/20(月) 00:16:46.79ID:GQS+gMma0 なぜ自分で試さないのか 0084デフォルトの名無しさん (JP 0Hfb-qDHA)垢版2021/09/20(月) 02:45:51.50ID:KDTpyD+cH>>82 データがセルに入ってるならワークシート関数使った方が速い 0085デフォルトの名無しさん (ワッチョイ 9f6b-W1il)垢版2021/09/20(月) 10:43:06.46ID:wP8fgZ+m0 えっ?そうなの?? 0086デフォルトの名無しさん (ワッチョイ 9f6b-W1il)垢版2021/09/20(月) 10:44:41.60ID:wP8fgZ+m0 試しましたが、 コードはdictionaryのほうがすっきりした。 体感速度はあまり変わりませんでした。 0087デフォルトの名無しさん (ワッチョイ 775f-FvVG)垢版2021/09/20(月) 10:54:05.02ID:9E+2eMtE0 かまってちゃんかよ 天気いいから散歩でもしてこいよ 0088デフォルトの名無しさん (ワッチョイ bf8c-xsW+)垢版2021/09/20(月) 11:55:16.12ID:djFT0hLf0 コード醸せよ 0089デフォルトの名無しさん (スップ Sd3f-qDHA)垢版2021/09/20(月) 12:03:32.94ID:DYg0tonqd A・オリゼー 0090デフォルトの名無しさん (ワッチョイ bf68-I2En)垢版2021/09/20(月) 12:27:59.43ID:lHEjG93V0 xxとyyどっちが早い、というのは本当に試した方が早い バージョンアップで最適化されて、すげー早くなってる事がある 0091デフォルトの名無しさん (ワッチョイ b7da-muDX)垢版2021/09/20(月) 12:51:40.86ID:3QXihmxB0>>87 別にかまってちゃんじゃなくて、回答に信頼性がないから自分で試したんだろう。誰かが信頼できそうな回答をくれたんだったら試さないと思うぞ。 0092デフォルトの名無しさん (ブーイモ MMfb-nVhm)垢版2021/09/20(月) 13:12:45.31ID:26+LHXKYM ちゃんと結果まで書き込んでるんだから 質問だけしていなくなるやつもいる中で、優秀だと思うよ 0093デフォルトの名無しさん (ラクッペペ MM8f-kX9c)垢版2021/09/20(月) 15:29:06.41ID:Ijs9yUmJM>>86 まずはありがとうございました、だろ うぜー帰れ 0094デフォルトの名無しさん (ワッチョイ b7da-muDX)垢版2021/09/20(月) 15:32:05.91ID:3QXihmxB0>>93 お前何代表者みたいな顔して怒ってんだよ、とチャチャを入れてみる(笑) 0095デフォルトの名無しさん (アウアウウー Sa5b-ONKb)垢版2021/09/20(月) 16:38:36.67ID:my+lQwjla イヤ マジで>>86はウザいわ 2度と来るな 0096デフォルトの名無しさん (ワッチョイ bf8c-xsW+)垢版2021/09/20(月) 16:58:36.07ID:djFT0hLf0 スルー力がない奴もセットて消えろ 0097デフォルトの名無しさん (ワッチョイ b7da-muDX)垢版2021/09/20(月) 17:03:04.82ID:3QXihmxB0>>96 お前もスルーしないと 0098デフォルトの名無しさん (ワッチョイ ff68-qDHA)垢版2021/09/20(月) 17:07:29.03ID:FEM4xU2r0 子供か 0099デフォルトの名無しさん (ワッチョイ b7da-muDX)垢版2021/09/20(月) 17:16:52.36ID:3QXihmxB0>>98 スルー力、言うのは易し、行うのは難し、を指摘しているだけ。