Private Sub UserForm_activate() '多分一回呼ばないとダメ WebBrowser1.Navigate ("https://example.com") End Sub
Private Sub UserForm_Click() html = "<div>foo</div>" WebBrowser1.Document.body.InnerHtml = html End Sub 0323デフォルトの名無しさん (ワッチョイ 8702-5sVJ)2019/02/19(火) 16:06:51.67ID:XJA9DtkM0 四角の領域を表す構造体にRECTというのがありますが、領域が10個あってしかも定数です その中にあるポイントがあるかどうかを判断するのに、 PtInRectを使いますが、10個のRECT領域をどうやって 定義するのか考えています Dim rect1 as RECT, rect2 as RECT ,,,,, rect10 as RECT とやって、これらに定数を代入するときにいちいち rect1.Top = 10 rect1.Left =10 --- rect10.Bottom = 1000 rect10.Right = 1970 とかやってたら大変です。 Cとかなら rect1 = CRect( 10,10,100,100) って出来ますが、VBAでは出来ませんか。 またやりたいのは、PtInRectなので、簡単に
if PtInRect( CRect( 10,10,100,100), x,y) <> 0 then
private Function getCSVData(byval ...)as string() Dim tarArr() //処理 getCSVData=tarArr end Function こんな感じで配列にして1次元が行、2次元が列に格納したいんですが ReDim、ReDim Preserveのタイミング等々が分かりません。
Public Type Rect Top As Integer: Left As Integer: Bottom As Integer: Right As Integer End Type Public Function CRect(Top As Integer, Left As Integer, Bottom As Integer, Right As Integer) As Rect Dim r As Rect r.Top = Top: r.Left = Left: r.Bottom = Bottom: r.Right = Right CRect = r End Function Public Function PtInRect(Rect As Rect, x As Integer, y As Integer) As Boolean If Rect.Left < x And Rect.Right > x And Rect.Top < y And Rect.Bottom > y Then PtInRect = True End If End Function Public Sub test() Dim r(10) As Rect r(1) = CRect(10, 10, 100, 100) '... If PtInRect(r(1), 15, 180) Then MsgBox "In Rect1" End If If PtInRect(CRect(10, 10, 100, 100), 15, 80) Then MsgBox "In Rect2" End If End Sub 改行多すぎらしいので:で詰めて書いてる 0334デフォルトの名無しさん (ワッチョイ 5f2f-dPPD)2019/02/19(火) 21:25:35.60ID:eXSGnhOj0>>329 エクセルでCSV開いてシートをそのまま2次元配列に突っ込めば良いんじゃないか 0335デフォルトの名無しさん (ワッチョイ 5f4f-nFDO)2019/02/19(火) 21:47:03.10ID:LH3y88CS0>>319 え? そうなの? それは知らなかった。
For i= 0 to 100 for j = 0 to 100 iとjを使った処理 next next この時、Dim j as Integer ってどこに書きますか? 「For i= 0 to 100」の上か下かという質問です。 0338デフォルトの名無しさん (ワッチョイ 2735-cT+3)2019/02/19(火) 22:37:52.77ID:XTzrMDQC0 定義は一番最初にまとめて全て書くと管理しやすい 個人的にはそもそも書かないけどな〜 0339デフォルトの名無しさん (ワッチョイ 071f-BmB6)2019/02/19(火) 22:45:04.21ID:VgLhyIar0>>330 自分でも調べてたけど、「最後の要素しか増やせない」って同じこと書いてありました。これは 例えば、行数読んだ結果がLcnt=10だとして まず
ReDim(Lcnt,0)で作り 配列(0 to 10,0)ができ Redim Preserve(Lcnt,Ubound(Split(1行目)) 区切った値が5なら 配列(0 to 10,0to5)が出来てしまい、いっぺんに右の要素数が変更されるってことで合ってます? と言うことは、1行目が5列で次に読んだ2行目が3列なら右の要素数は3に減るって事ですかね? ifか何かで要素数は増える時だけRedim Preserveのが良いですかね? 0340デフォルトの名無しさん (スプッッ Sdff-BmB6)2019/02/19(火) 22:50:47.62ID:VJWnLClRd>>337 VBは上にまとめ C#は使う時 他の言語はしらん。あくまでイメージ。
バカほどなんでも決めつけて単純化させようとする 勝手に単純化させた結論を赤の他人にいきなり押しつけるから当然理解されない 理解されないことを相手がバカだからと決めつけていきなり罵り出す 頭がおかしい人なのかな?と放置されると論破して黙らせたと思い込んで悦に浸り出す 0398デフォルトの名無しさん (アークセー Sxbd-ki5U)2019/02/21(木) 20:08:15.12ID:pV/9VR1fx 質問に対する回答よりも糞みたいな煽り合いに熱中する奴ってなんなの 0399デフォルトの名無しさん (ワッチョイ b501-eSdf)2019/02/21(木) 20:14:11.51ID:UHF1Q6o+0 質問者は基本的に馬鹿 「インターネットは開くんですけどxxシステムが開きません」と言われてTraceやらブラウザ設定やらやった挙句、LANケーブルが挿さってないだけでインターネットはキャッシュでした、っていうようなオチが山ほどある 奴らの言葉を鵜呑みにしてはいけない 0400デフォルトの名無しさん (ワッチョイ a569-K3Le)2019/02/21(木) 20:40:34.06ID:8KPV6qY80 ループから抜けるときにブレイクとかコンティニューないのこれ? 0401デフォルトの名無しさん (ワッチョイ 6935-rusg)2019/02/21(木) 20:44:24.69ID:YsIQ3BIo0>>400 exitがある Sub foo() For i = 1 To 1000 Debug.Print i If i > 100 Then Exit For End If Next End Sub 0402デフォルトの名無しさん (ワッチョイ 89c5-T+SP)2019/02/21(木) 20:49:56.47ID:dFUlMofS0>>399←こいつホンマもんのプロさんやんwww Traceてwwwwwwww 0403デフォルトの名無しさん (ワッチョイ b501-eSdf)2019/02/22(金) 00:25:53.24ID:9R98EKTp0>>402 ? 0404デフォルトの名無しさん (ワッチョイ 6a7c-RjxB)2019/02/22(金) 00:44:27.12ID:EpE2F9dV0 混沌とした質問ではなくてある程度整形された質問ならお互いに健全かもしれないね。 「例えば質問のためのテンプレ埋めてもらう」とかだけでもやり取りの回数減るんじゃないかな。 テンプレの内容はよくわからないけど、例えば「配列が解るか、オブジェクトが解るか、APIが解るか」とか書いてもらえれば質問者のレベルか解りやすいから罵ることもないだろうし 全体の流れの一部として困ってるのか、単純に言語仕様で困ってるのかだけでも質問者に必要なのがコンサルなのか解答なのか切り分けしやすいと思う。