トップページ⇒tech
1001コメント301KB

VBプログラマ質問スレ(6.0以前) Part46

レス数が950を超えています。1000を超えると書き込みができなくなります。
0001デフォルトの名無しさん2006/02/03(金) 22:58:33
VisuarlStudio
0894デフォルトの名無しさん2006/02/26(日) 19:35:56
>>889
カクカクとかそういうアバウトな感覚で答えないでくれないかな。
仮にOS上で優先順位が同じ二つのプロセスしか動いていないとする。

一つはCPU100%使用するアプリ。一つはCPU10%程度ですむアプリ。
OSはこの二つのアプリに50%ずつ割り当てるから、
当然、CPU10%程度ですむアプリは十分なCPUを割り当てられているから
カクカクならない。
これをみただけで結論だしてるでしょ?

一つはCPU100%使用するアプリ。一つはCPU70%必要なアプリ。
こういう場合には、50%しか割り当てられないから、
CPU70%必要なアプリは遅くなるんだよ。
0895デフォルトの名無しさん2006/02/26(日) 19:37:55
>>890
成る程、ポン。
0896デフォルトの名無しさん2006/02/26(日) 19:40:31
>>893
訂正 vbCR > vbLF

補足すると VBで "\n" にあたるのをCで書くと "\\n" で、つまり見た目どおりの文字列。
0897pp2006/02/26(日) 19:52:22
>>888>>889>>893 ありがとうございました。
もともとLineInputには改行コードが含まれてないようなので>>889さんの意見の通りに
書き込みをしない事にして解決しました。みなさん、貴重な意見ありがとうございました
0898デフォルトの名無しさん2006/02/26(日) 20:25:26
>>894
>>891
0899デフォルトの名無しさん2006/02/26(日) 20:40:02
>>891 >>898 引っ掻き回してるのはこいつかw
0900デフォルトの名無しさん2006/02/26(日) 21:13:09
VBって、確か中間コードにコンパルされるんだよね。
その言語仕様が解説されたサイトを教えて下さい。
0901デフォルトの名無しさん2006/02/26(日) 21:16:11
>>900
http://www.1101.com/MOTHER3/
0902デフォルトの名無しさん2006/02/26(日) 22:02:25
>>900
P-CODE?
VB5以降は、とりあえずオブジェクトファイル作られて(そして普通は消される)けど、最終的にはネイティブ
0903デフォルトの名無しさん2006/02/26(日) 22:08:30
>>902
コンパイルでPコード選んでも?
0904デフォルトの名無しさん2006/02/26(日) 22:35:11
いやP-CODEは…あれはインタプリタだっけ?
あんまり使わないからよーわからん
0905デフォルトの名無しさん2006/02/27(月) 11:14:16
>>854
getElementByIdかgetElementsByNameで取得して代入。
0906デフォルトの名無しさん2006/02/27(月) 21:30:47
ネットワークカードが2枚刺さってる環境で、Winsockを使用してUDP通信をしています。

ネットワークカードは別セグメントで

1枚目:192.168.10.1 → VBから使用している側
2枚目:192.168.20.1 → ルーターを介して別ネットワークへ

といった感じになっています。

この場合、Winsockに「192.168.10.1」側のLANカードを使用する、といった設定は
必要になるのでしょうか?

というのも通信が不安定で頻繁に接続が切断されているんです…orz

試しにルーター側のネットワークケーブルを引っこ抜いてみると
通信は安定します。

ルーターの設定が原因かもしれませんのでスレ違いかもしれませんが、
わかる方いらっしゃいましたら教えてくださいm(_ _)m
0907デフォルトの名無しさん2006/02/27(月) 22:43:30
>>906
IPアドレスとポート番号の指定だから、それは関係ない様な気がするけど・・・
route コマンドとかは?
0908デフォルトの名無しさん2006/02/28(火) 00:26:35
テキストボックスを選択した部分だけStrConvで変換して
選択部分とキャレットの位置はそのままにしたいのですが
テキストを右の方から選択してキャレットが選択位置の
左側にある場合はSel***系のプロパティだけで実装できるでしょうか?
0909デフォルトの名無しさん2006/02/28(火) 01:29:20
>>908
出来る。
0910デフォルトの名無しさん2006/02/28(火) 01:39:44
>>909
うそつき
キャレットの位置は無理
0911デフォルトの名無しさん2006/02/28(火) 08:22:24
そうやって相手すると馬鹿が居つくよ。
まあ相手されないならされないでこういう奴はされるまで居つくだろうけどw
地縛霊みたいなもんか。
0912デフォルトの名無しさん2006/02/28(火) 11:20:45
>>908
何がやりたいのかサッパリ理解出来ない・・・
0913デフォルトの名無しさん2006/02/28(火) 13:18:40
AB[CD]lE ([]=選択範囲 l=キャレット)
を
AB[cd]lE
にして、選択範囲もキャレットも維持したいんだろ。
で、キャレットが選択範囲の左右どちらにあるかで、Sel****で
実現できるかどうか変わると。
0914デフォルトの名無しさん2006/02/28(火) 13:59:27
>>913
右から左へ反転選択した場合だって実現出来るんじゃないの?
SelText / Mid$ とか使えば、どっちにキャレットがあるから分かるから、
改めて左から右へ反転選択し直すとかして。
単なる文字列処理なんだし。
0915デフォルトの名無しさん2006/02/28(火) 14:11:31
>>914
キャレット位置の取得/設定プロパティはない。
0916デフォルトの名無しさん2006/02/28(火) 14:42:10
ええぇぇぇ?
0917デフォルトの名無しさん2006/02/28(火) 15:19:37
>>906
OSは何?98/Meはどうあがいても無理
NT系ならrouteコマンドでちゃんとルーチング設定しろでFA
0918デフォルトの名無しさん2006/02/28(火) 16:22:21
>>916
あったっけ?
どんな名前?
0919デフォルトの名無しさん2006/02/28(火) 16:35:06
>>918
ないよ、909と916がアホなだけ
たぶんキャレットと選択範囲の区別すらついてない
0920デフォルトの名無しさん2006/02/28(火) 17:11:53
>>919
でも、確かに、あってもいいプロパティだよね。
って、今迄に一度も必要になった事はないけど・・・
0921デフォルトの名無しさん2006/02/28(火) 17:19:50
まー、無いなら無いでいいんじゃない?
この先どうなろうと俺らの知ったことじゃないし
0922デフォルトの名無しさん2006/02/28(火) 20:14:34
GetCaretPosとかの話題をあえて避けてるような空気
0923デフォルトの名無しさん2006/02/28(火) 20:46:53
ためしにTextBox:Text1をForm:Form1に貼り付けて、次のコードぶち込んで実行し
private sub Text1_Change()
debug.print Text1.SelStart
end sub
0924デフォルトの名無しさん2006/02/28(火) 21:51:36
>>922
クライアント座標を受け取っても、何文字目かは分からない・・・
0925デフォルトの名無しさん2006/02/28(火) 22:17:54
EM_LINEINDEXとかの話題をあえて避けてるような空気
0926デフォルトの名無しさん2006/02/28(火) 22:49:06
>>925
それ、複数行のやつしか使えないんじゃなかったっけ?
0927デフォルトの名無しさん2006/02/28(火) 22:53:37
何か問題でも?
0928デフォルトの名無しさん2006/02/28(火) 23:02:00
VBの用語を調べられるサイトってある?
0929デフォルトの名無しさん2006/02/28(火) 23:11:26
>>927
複数行じゃないやつに使えない。
0930デフォルトの名無しさん2006/02/28(火) 23:12:42
>>928
つMSDN
0931デフォルトの名無しさん2006/02/28(火) 23:44:16
>>929
何か問題でも?
0932デフォルトの名無しさん2006/03/01(水) 00:25:11
>>922
まーた、試したこともないのに適当なこと抜かすやつが出てきたな
SetCaretPosで見た目上、位置を変更できたように見えるが
VBのテキストボックスが内部でキャレット位置を保持していて
現在の位置を無視するので動作がおかしくなるだけ

>>924
EM_POSFROMCHAR で分かる
0933デフォルトの名無しさん2006/03/01(水) 02:05:15
VB6.0で、テキストボックスに文字を入力できないようにするのは、
KeyPressイベントでKeyCode=0にするまでは解ったのですが、
既に入力されている文字をDELETEキーで削除できてしまいます。

DELETEキーを受け付けないようにしたいのですが、
どのようにすればいいのでしょうか??
0934デフォルトの名無しさん2006/03/01(水) 02:21:38
>>993
KeyDownイベントで KeyCode = 0
というか、テキストボックスに文字を入力できないようにするなら
Text1.Locked = True でいいんじゃない?
KeyPressやKeyDownでキーコードつぶすのは、
キーによって細かく動作を変えたいような場合にしか使わんよ
0935デフォルトの名無しさん2006/03/01(水) 02:22:43
Locked
0936デフォルトの名無しさん2006/03/01(水) 06:14:49
Dim s, l As Integer
With Text1
s = .SelStart
l = .SelLength
.SelText = UCase(.SelText)
.SetFocus
.SelStart = s
.SelLength = l
End With
0937デフォルトの名無しさん2006/03/01(水) 08:09:43
> Dim s, l As Integer
> Dim s, l As Integer
> Dim s, l As Integer
0938デフォルトの名無しさん2006/03/01(水) 14:11:43
> Dim s, l As Integer
> Dim s, l As Integer
> Dim s, l As Integer
0939デフォルトの名無しさん2006/03/01(水) 16:03:54
ttp://www2.moug.net/bbs/program/20060301000005.htm
0940デフォルトの名無しさん2006/03/01(水) 21:22:09
たとえばテンキーの"+"を押したときにコマンドボタンをクリックさせるのって

keydownイベントに

if keycode = (107) then
commanbutton1.value = true
end if

じゃだめなんですかねー^^;
0941デフォルトの名無しさん2006/03/01(水) 21:30:40
失礼!
commanbutton1→commandbutton1
0942デフォルトの名無しさん2006/03/01(水) 21:45:11
Callしてやれば同じ事だろ
0943デフォルトの名無しさん2006/03/01(水) 21:52:51
>>940
Private Sub Command1_KeyDown(KeyCode As Integer, Shift As Integer)
If KeyCode = &H6B& Then
KeyCode = VBRUN.KeyCodeConstants.vbKeySpace
End If
End Sub
0944デフォルトの名無しさん2006/03/01(水) 21:53:18
いや ビジュアル的に
ボタン押してるアニメーションも欲しかったので
0945デフォルトの名無しさん2006/03/01(水) 21:56:03
>>943
&H6B& → vbKeyAdd
0946デフォルトの名無しさん2006/03/02(木) 03:34:33
>>934
Locked ってXPだとバグあるよね
Locked = True なのにコンテキストメニューからペーストできちゃう
0947デフォルトの名無しさん2006/03/02(木) 05:14:00
>>946
そんなバグつきのバージョン使ってるやつのことなんかしらね
アップデートできない事情があるならコンテキストメニューも潰せ
0948デフォルトの名無しさん2006/03/02(木) 05:59:45
WebBrowserで異なるドメインのためアクセスできないフレームのドキュメントにアクセスする方法を教えてください
0949デフォルトの名無しさん2006/03/02(木) 06:00:20
嫌です
0950デフォルトの名無しさん2006/03/02(木) 06:37:52
くずが
0951デフォルトの名無しさん2006/03/02(木) 09:13:44
>>946
VB6はXPで動作保証されてません。
「MSのサイトでは云々」って話は無意味だから。
09529482006/03/02(木) 10:34:56
誰かわかる人いませんかー?
0953デフォルトの名無しさん2006/03/02(木) 10:42:45
いません
0954デフォルトの名無しさん2006/03/02(木) 10:51:08
>>952
ドメインが違うとアクセス出来ないのは何故?
URLでサイト開くんじゃないの?
0955デフォルトの名無しさん2006/03/02(木) 11:03:32
>>954
たとえば www2.2ch.net/2ch.html を開いて板一覧のDocumentにアクセスしようとしてもできないです
これを解決する方法を教えてください
0956デフォルトの名無しさん2006/03/02(木) 11:35:56
>>955
現象が再現する必要最低最小限のコードは?
0957デフォルトの名無しさん2006/03/02(木) 11:45:51
>>956
Private Sub Form_Load()
  WebBrowser1.Navigate "http://www2.2ch.net/2ch.html"
End Sub
Private Sub Form_Click()
  Dim Doc As Object
  Set Doc = WebBrowser1.Document.frames(0).Document
End Sub

0958デフォルトの名無しさん2006/03/02(木) 13:03:33
>>957
With WebBrowser1
Dim Doc As HTMLDocument
Set Doc = .Document.frames(0)
End With
0959デフォルトの名無しさん2006/03/02(木) 14:44:26
>>958
ありがとう
でも、私の目的とするところは、ちょっと違うんです
そのコードでオブジェクトそのものは取れても、Documentのプロパティにはほとんどアクセスできないんです
具体的には、そのDocumentオブジェクトを使って、板リンクのURLを取得するとか、そういうことを目的としています
「Documentにアクセス」っていう私の説明の仕方が悪かったですね、すみません
0960デフォルトの名無しさん2006/03/02(木) 15:05:03
>>959
つXMLHTTP オブジェクト
0961デフォルトの名無しさん2006/03/02(木) 16:00:16
>>960
ソースをDLして解析しろってことですよね?
それだと動的な状態が取れないんで、ちょっと困るんです
あくまでもWebBrowserなんで、ブラウザであれこれ操作したいんです
0962デフォルトの名無しさん2006/03/02(木) 17:42:40
NUMLOCKオフった時のテンキーの5キーの定数ってあるんですか?
色々調べたんですがわかんなかったんで
0963デフォルトの名無しさん2006/03/02(木) 17:46:30
>>961
ブラウザの内部状態を知るにはブラウザを作れば良い
0964デフォルトの名無しさん2006/03/02(木) 18:28:20
>>963
それは要するにWebBrowserでは不可能だということですか?
0965デフォルトの名無しさん2006/03/02(木) 19:19:06
TDBGridって動的にセルの数を増減できないのかしら。
0966デフォルトの名無しさん2006/03/02(木) 19:28:19
>>962
つKeyCodeConstants.vbKeyClear
0967デフォルトの名無しさん2006/03/02(木) 20:18:47
WebBrowserを使っているオブジェクト(つまり自作アプリ)からだと
WebBrowserオブジェクト内のほとんどにアクセスできそうだけどな。
フレーム使っているから、その親(つまり2ch.net)のセキュリティが
適用されるのかな?

まーあれだ。2chなら、直接ファイル(dat?)を見に行けと。
0968デフォルトの名無しさん2006/03/02(木) 20:38:38
>>965
つMaxRows
0969デフォルトの名無しさん2006/03/02(木) 21:21:35
>>968
ありがとう。

でも、知りたいのはカラム数の増減なの、ごめんね。
0970デフォルトの名無しさん2006/03/02(木) 21:51:37
>>969
Column の Width を 0 にしたり、Visible を False にすりゃいいじゃん。
0971デフォルトの名無しさん2006/03/03(金) 00:08:46
>>946
Lockedは2000から貼り付け可能です。
ですから、2000でもVB6アプリは動作保証されないということです。


さて、このスレッドももう次はいらないですよね。
0972デフォルトの名無しさん2006/03/03(金) 00:09:50
必要に一票
0973デフォルトの名無しさん2006/03/03(金) 00:17:31
>>946
もしかしてSP6で直ってる?割と有名な放置バグだと思っていたんだが再現しない。
0974デフォルトの名無しさん2006/03/03(金) 00:30:27
次スレイラネ
0975デフォルトの名無しさん2006/03/03(金) 00:31:00
イヤ イルネ
0976デフォルトの名無しさん2006/03/03(金) 00:31:32
つか作っちゃうよ?
0977デフォルトの名無しさん2006/03/03(金) 00:36:24
>>971
莫迦発見。2000は完璧にサポート範囲内だ、っての。
Locked が動作しないのは、お前の糞環境だけ。
0978デフォルトの名無しさん2006/03/03(金) 00:40:42
ただの煽り厨に反応するなよ
0979デフォルトの名無しさん2006/03/03(金) 02:22:19
次スレいるとか言ってるやつはただの教えたがり君だって噂。
0980デフォルトの名無しさん2006/03/03(金) 02:45:16
ん? 次スレたてたけどどうする?

VBプログラマ質問スレ(6.0以前) Part47
http://pc8.2ch.net/test/read.cgi/tech/1141320612/
0981デフォルトの名無しさん2006/03/03(金) 02:47:51
質問があれば使うし無ければ消えるからどうもしないよ?
0982デフォルトの名無しさん2006/03/03(金) 03:24:53
継続するべし・・・・・・・・・・・・・・・・・・・・・・
0983デフォルトの名無しさん2006/03/03(金) 04:27:40
初心者です。作ったものをコンパイル?圧縮?して保存する方法教えてください。
BASICソフト無しの一般PCでソフトをインストールして使えるようにです。
09849482006/03/03(金) 08:09:40
>>967
>フレーム使っているから、その親(つまり2ch.net)のセキュリティが適用されるのかな?
そうなんですよね、その辺は承知の上でどうにかしたかったんですけど
WebBrowser 側からすれば、呼び出し元が JavaScript か VB かというような判断はできないのか
一律で JavaScript と同レベルのセキュリティーにされちゃってるんですよね

どうやら、純粋にVBだけでどうにかするのは無理っぽいのでTLBをしこしこ作って
参照設定してからこつこつインターフェースを変換していったら何とかドメインを跨いでアクセスできました
答えてくれた方々ありがとうございました

>>971
SP5 以上で直ってるはずですから、いまだにLockedがおかしいとしたら
大昔のSPしか当てていないか、SPをまったく当てていないからでしょう
下記サイトからSP6を入手してください
http://www.microsoft.com/japan/msdn/vstudio/downloads/sp/order_vs6sp6.asp

>>983
一番簡単な方法はディストリビューション ウィザードを使用することです
もっと詳細にインストールをしたい場合は、ディストリビューション ウィザードで
依存ファイル(DEP)を作成して、それを元に Visual Studio Installer を使うとよいです
もしくは、依存ファイルの記述を参考に必要なファイルを集めて
フリーのインストーラ(例えばBegin! Setup 200x)を使えば良いでしょう
0985デフォルトの名無しさん2006/03/03(金) 08:26:57
>>983
http://dobon.net/vb/installer/index.html
この中から好きなのを使いましょう。
ちなみにディストリビューションウィザードは、全角文字を使った
Windowsユーザー名でインストールするとエラーが発生する
不具合があるので注意。
0986デフォルトの名無しさん2006/03/03(金) 16:35:44
input # ステートメントでファイルを読み込んでいくと、勝手に次の行に移動してしまうんですが、
これをレコードセットのように、前の行、後の行と自分で移動させるにはどうしたらいいのでしょう?
0987デフォルトの名無しさん2006/03/03(金) 16:54:03
>>986
テキストデータソースドライバを使って、
テキストファイルをDBの様にアクセス。
0988デフォルトの名無しさん2006/03/03(金) 23:25:32
ちと、申し訳ない、EXCEL95なんだが、VBAでお尋ねしたいが・・・

VBAの中で、Asc関数(全角カナ文字列を半角カナ文字列)と同様のことをしたい。

やりたいことは、VBAの中での、列の文字検索。
全角カナ文字列を読込み、半角カナ文字列の列を検索してもうまく検索してくれない。

Set foundCell = Worksheets(OUT_S).Columns("N").Find(M_NAM, , xlValues, xlWhole)
で、うまくいかず・・・

変数の M_NAM を半角カナ文字列としたい。
または、検索を出来るようにしたい。

なにか、よいアイデアを、お願いします。
0989デフォルトの名無しさん2006/03/03(金) 23:29:57
10年前の製品のことが分かる人っているのかなw
っていうか、Excel95のマクロってVBだったっけ?
StrConvはないのかな。
0990デフォルトの名無しさん2006/03/03(金) 23:59:03
>>988
ジダイオクレ
イイカゲン アプデートシル
0991デフォルトの名無しさん2006/03/04(土) 00:14:58
>>889
その当時はVABっていってたね〜〜

>>990
まあね〜。まあ、ネットもつながってるし、お金もないしでさ〜〜〜〜

どなたか、ココロやさしいかた、パソコンちょ〜〜〜〜だい!!
秋には新しいWindowsも登場するみたいだしさ〜〜〜
0992デフォルトの名無しさん2006/03/04(土) 01:35:44
mid("アイウエオ”,instr("アイウエオ",c),1)
0993デフォルトの名無しさん2006/03/04(土) 02:55:08
>>992
あ〜、ごめん、ありがとう。
けど、おれの説明の言葉がたりなかった、ゴメン!!

やりたいことは、EXCELのシート内で列を指定しての文字検索をVBAで行いたいのです。

検索したい文字はシート内から読込みで、全角文字です。  
検索するのはシートの列で半角文字で対象はあります。

  Set foundCell = Worksheets(OUT_S).Columns("N").Find(M_NAM, , xlValues, xlWhole)

でやると、全角と半角文字を区別しちゃって、対象が存在するんですが検索されないので、
全角文字を半角文字にして検索をしたいのです。
レス数が950を超えています。1000を超えると書き込みができなくなります。