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

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

■ このスレッドは過去ログ倉庫に格納されています
0001デフォルトの名無しさん2006/02/03(金) 22:58:33
VisuarlStudio
0053デフォルトの名無しさん2006/02/04(土) 18:05:10
>>51
PaintPicture()メソッドはVBの内部と癒着しまくって動いているから(描写以外にも何かしてるはず)
基本的に低速
BitBltはその辺GDI直だから結構早い
それでも遅いときはDIB系のAPIつかう
まだ早くしたいときはDirectXか?
0054デフォルトの名無しさん2006/02/04(土) 18:06:12
あと>>51のサイトでScaleMode=vbPixelにしろって書いてないけど、
多分しないとマトモに動かないから
0055デフォルトの名無しさん2006/02/04(土) 18:06:54
>>52
とりあえず msgbox Typeof(fk.getfolder("c:")) の値を見せなさい。
0056デフォルトの名無しさん2006/02/04(土) 18:07:42
>>55、TypeNameな
0057デフォルトの名無しさん2006/02/04(土) 18:08:09
("c:")
 ↑これなんてキャラ?
0058デフォルトの名無しさん2006/02/04(土) 18:09:03
>>53-54
わかった
どうも親切にありがとう
0059デフォルトの名無しさん2006/02/04(土) 18:19:06
>>55>>56
ループの中でFolderでした。bjはファイルにならないのかな?
0060デフォルトの名無しさん2006/02/04(土) 18:24:25
>>59
じゃこれだ:
http://www.interq.or.jp/student/exeal/dss/ref/wsh/scripting/folder.html
0061デフォルトの名無しさん2006/02/04(土) 18:25:41
>>52
f1 と fk とbj の宣言部分は?
0062デフォルトの名無しさん2006/02/04(土) 18:27:47
>>59
とりあえずさ、例外を再現できるコード(vbsファイルにコピペすれば大体動くような)を提示してくんない?
なぞなぞやってるわけじゃないんだから
0063592006/02/04(土) 18:36:45
コメントにしていたSUBとかEND SUBを除いたら出来るようになりました。ごめんなさい
0064262006/02/04(土) 18:45:12
>35>42
納得出来ました、ありがとう。

>37
専用関数使えば良いだけなんだろうけど
文字列の比較もStrComp関数で…とか屁理屈考えちゃいました。
0065デフォルトの名無しさん2006/02/04(土) 18:47:18
>>64
あと、文字列→日付にCDate()使ってるみたいだけど
あれはWindowsの設定によって解釈変わっちゃう可能性あるから、
DateSerial()+TimeSerial()で作った方が安全だと思うぞ
0066デフォルトの名無しさん2006/02/04(土) 18:49:45
エクセルVBAの話をしてはだめですか?
0067デフォルトの名無しさん2006/02/04(土) 18:50:32
>>66
VB6と被ってる関数/クラスならいいんでね?
俺は
0068デフォルトの名無しさん2006/02/04(土) 18:54:39
>>63
何がどう駄目でどの様に解決したのか全然分からん。
0069デフォルトの名無しさん2006/02/04(土) 18:56:42
>>66
ttp://ttsearch.net/s.cgi?k=Excel+VBA&o=r
0070デフォルトの名無しさん2006/02/04(土) 19:00:32
>>67
Sub UHA()
S = "Select qq.* From kimo.txt qq"
c = "ODBC;DSN=Text Files;DefaultDir=C:\www"
With Sheets(2).QueryTables.Add(Connection:=c, Destination:=Range("a1"), Sql:=S)
.Refresh
End With
End Sub
のあと、シート2のソートが正常に動作してくれません
0071デフォルトの名無しさん2006/02/04(土) 19:04:38
>>51のサイト見てたんだけど
非表示のPictureBoxに絵を読み込んで他に転写する方法っていかにもVBっぽいよな
0072デフォルトの名無しさん2006/02/04(土) 19:04:56
(ノ∀`)アチャー
0073デフォルトの名無しさん2006/02/04(土) 19:12:45
>>70
突っ込むのはビューだからかもなー
よく分からん
orderbyでソートしたら?

>>71
たすかに
CreateCompatibleDC/Bitmap使ってとかは面倒なんだろ
0074デフォルトの名無しさん2006/02/04(土) 19:25:35
> 突っ込むのはビューだからかもなー

解説をお願いします。突っ込む ビュー のあたりが初耳です
0075デフォルトの名無しさん2006/02/04(土) 22:32:12
>VBAは、Officeアプリの操作以外ならばこのスレで質問しても大丈夫です。
との事なんで質問させていただきます。

Excel2002 + MySQL
VBAからテーブルのバックアップを取ろうと思って以下の処理を書いて
見たんですが、バックアップファイルが出来ません。
Dim shell_str As String
Dim ret

shell_str = "mysqldump database table1 -u root -phogehoge > D:/Data/SQL/table1.sql"
ret = Shell(shell_str, vbMinimizedNoFocus)

これをバッチファイル(例えばbkup.bat)にして

ret = shell("c:\temp\bkup.bat",vbMinimizedNoFocus)

で正常に走る事は確認しているんですけど、出来たらちょこまかしたバッチ
ファイルは作らずにVBA上からやりたいと思っています。どういう風にすれば
よろしいんでしょうか。

0076デフォルトの名無しさん2006/02/04(土) 22:53:32
>>75
shell _str = "cmd /c""mysqldump database table1 -u root -phogehoge > D:/Data/SQL/table1.sql"""
0077デフォルトの名無しさん2006/02/04(土) 23:03:33
>>76
おおお〜!即レス有難うございますm(__)m。
なるほど、そういう風に書くんですね!
実行してみたら出来ました。有難うです。
0078デフォルトの名無しさん2006/02/04(土) 23:21:09
post methodを使うサンプルコード探しています
どなたかご親切な方いましたら
post methodの使い方をご教授願います。

ブラウザーを介さず直接サーバーに情報を送信したいのです。
0079デフォルトの名無しさん2006/02/04(土) 23:22:42
>>78
ほらよノシ[RFC]
http://www.ietf.org/rfc/rfc2616.txt
0080デフォルトの名無しさん2006/02/04(土) 23:27:20
>>79
レスありがとう
大変参考になりましたといいたいところですが
敷居が高すぎますorz
出来ましたら、易しめなのを希望します。
0081デフォルトの名無しさん2006/02/04(土) 23:29:12
>>79
オマエ鬼だな...

>>78
ご教授って書かなかったら教えたのにな

ヒント:X○○H○○○R○○○e○○
0082デフォルトの名無しさん2006/02/04(土) 23:30:58
XMLHTTP(ry
0083デフォルトの名無しさん2006/02/04(土) 23:31:30
俺ならWinSockから実装するよ

telnet o www.google.co.jp 80
POST (ry
0084デフォルトの名無しさん2006/02/04(土) 23:33:25
>>83
WinSockだとSSLがじゃましないか?
0085802006/02/04(土) 23:45:11
>>81-82
サンクス昔調べたサイトのこと思い出せた。
XMLHTTPRequest
http://x7net.com/~access/AcTipsVbaXMLHTTP.html

>>ご教授って書かなかったら教えたのにな

もう少しpost methodの使い方について教えて下さい?

>>83
レスありがとう
>>84が言うとおり処理が複雑そうになるのは気のせいですか?
0086832006/02/04(土) 23:48:21
ん?
WinSockだと何か弊害が…?
とりあえずセキュアなサイトは訪れるのが面倒になるが
0087802006/02/05(日) 00:00:12
>>86
いいえそんなことはないと思うのですが
別な掲示板でWinInetのほうが初心者は使いやすいと読んだことがあります。
0088デフォルトの名無しさん2006/02/05(日) 00:01:27
じゃあそっちの掲示板で聞けよ
0089デフォルトの名無しさん2006/02/05(日) 00:04:40
まったり行こうぜ
0090デフォルトの名無しさん2006/02/05(日) 00:09:33
初心者はInetコントロールでも画面に貼って使っておけ
0091デフォルトの名無しさん2006/02/05(日) 00:10:37
>>90
そんなことせんでもUserControlのAsyncReadメソッドで
0092デフォルトの名無しさん2006/02/05(日) 00:15:09
AsyncReadはmethod指定できなくね?
0093デフォルトの名無しさん2006/02/05(日) 00:17:57
しかしInetはバグが酷すぎる
0094デフォルトの名無しさん2006/02/05(日) 00:24:20
>>78
つMSDNヘルプ
0095デフォルトの名無しさん2006/02/05(日) 01:28:14
AsyncReadって、どうしてユーザーコントロールじゃなきゃいけないんだろ。フォームでええやん。
0096デフォルトの名無しさん2006/02/05(日) 01:49:35
>>37
なんだ根拠なしに言ったのか。
sp6のサポートOSにちゃんとXPも載ってるじゃねえか。
ttp://www.microsoft.com/downloads/details.aspx?FamilyID=a8494edb-2e89-4676-a16a-5c5477cb9713&DisplayLang=ja

ところでVB6からVB2005への移行を検討するスレってどこかにない?
0097デフォルトの名無しさん2006/02/05(日) 01:53:25
>>96
おまいは実行環境と開発環境の区別もないのか・・・
0098デフォルトの名無しさん2006/02/05(日) 01:54:28
>>65
非常に懐かしいが経験ある。
0099デフォルトの名無しさん2006/02/05(日) 01:55:34
>>97
ランタイムじゃないよ。97が間違えてるのでは?
0100デフォルトの名無しさん2006/02/05(日) 01:56:20
>>97は真性キチ
0101デフォルトの名無しさん2006/02/05(日) 01:57:15
>>98
経験?
0102デフォルトの名無しさん2006/02/05(日) 02:01:25
>>101
DBから文字列で格納された日付をひろって、
cdateで日付に変換していたらで一部PCでだけ不具合が出たなーという
苦い経験
0103デフォルトの名無しさん2006/02/05(日) 02:03:01
>>102
ぁあなるほど・・・そういえば時々掲示板に上がってくるなぁ、そういうの
0104デフォルトの名無しさん2006/02/05(日) 02:39:23
>>85
http://www.tt.rim.or.jp/~rudyard/torii009.html
0105デフォルトの名無しさん2006/02/05(日) 05:06:52
ハハハ、IHTMLElementRender::DrawToDC()使おうと思ったらVBに怒られたぜ・・・ショボンヌ
0106デフォルトの名無しさん2006/02/05(日) 10:00:41
す、すんまそん。VB4からのウラシマユーザーです。
VB2005弄ってみました。
で、いきなり躓きました。

コントロール(チェックボックスとか)を配列にするにはどーしたらエエんでしょう?
以前は、コピペで勝手に配列型にしてくれてたんですが。

0107デフォルトの名無しさん2006/02/05(日) 10:16:09
AsyncRead と Inet で GetChunk するんじゃどっちがはやいですか?
0108デフォルトの名無しさん2006/02/05(日) 11:06:50
>>106
スレタイを二百回読んでごらん
0109デフォルトの名無しさん2006/02/05(日) 11:35:43
IEなどのブラウザーを通さずに
サーバから直接、特定のサイトにユーザー名、パスワードを送信して
ログインしたいのですが
まずはじめに何から取り掛かれば良いでしょうか?
エクセルのVBAで解決したいと考えています
おねがいします。
0110デフォルトの名無しさん2006/02/05(日) 11:38:04
>>109
質問があいまいです
0111デフォルトの名無しさん2006/02/05(日) 11:43:33
>>109
とりあえず校庭十周
0112デフォルトの名無しさん2006/02/05(日) 11:45:39
>>111
40過ぎのおっさんだったらカワイソウだぞw
0113デフォルトの名無しさん2006/02/05(日) 11:47:14
基礎体力は大事だな、確かに
0114デフォルトの名無しさん2006/02/05(日) 11:49:42
>>109
素人なら
WinInetでも使っとけw
0115デフォルトの名無しさん2006/02/05(日) 12:48:52
VB6の低脳化はついにここまで進行したのか
0116デフォルトの名無しさん2006/02/05(日) 12:49:07
>>109
とりあえず何のプロトコルかわからんからそっから調べて来い
01171092006/02/05(日) 14:05:05
>>116
素人はWinInetを使えとありますので
本を見ながらユーザーフォームに追加してみました
下記の
name="koza1"
name="koza2"
name="passwd"
にデータを送信したいです。
GETでデータを取得すると文字化けしたので
WEB上のソースを貼り付けました。

https://trade.kabu.livedoor.com/Login/0/imode/login_h
ライブドア証券携帯サイト

<!--画面専用のソースの挿入-->
<FORM action="/IMode/00000000/imode/login_e" method="POST">
<P> 部店コード <BR>
<INPUT type="text" name="koza1" maxlength="3" size="3" istyle="4" value="">
<BR>
口座番号 <BR>
<INPUT type="text" name="koza2" maxlength="7" size="6" istyle="4" value="">
<BR>
パスワード <BR>
<INPUT type="PASSWORD" name="passwd" maxlength="10" size="10" istyle="4" value="">
<BR>
<center>
<INPUT TYPE="submit" VALUE="ログイン" accesskey="1">
</center>
</FORM>
01181092006/02/05(日) 14:07:09
>>110-111
すいません
初めてのことで何を聞けばいいかさえ解らない状態です
0119デフォルトの名無しさん2006/02/05(日) 14:14:08
>>96
未だにMSの「サポートしてます」を信じる奴が居るとは・・・
実際に数々の不具合が出てる訳だが。
まぁ別にやりたいならインストール&開発&配布すればいいよ。
>>107
速さはハードウェアで解決する時代。
>>109
TCP/IPの勉強。
0120デフォルトの名無しさん2006/02/05(日) 14:18:20
VBってランタイムが要る時点でだめぽだよね
0121デフォルトの名無しさん2006/02/05(日) 14:20:48
>>120
今の時代、全て突っ込んだアプリケーションはそうそうない
0122デフォルトの名無しさん2006/02/05(日) 14:37:15
APIもランタイムライブラリの一種

ってことは、マシン語しか認めない方ですか?
0123デフォルトの名無しさん2006/02/05(日) 15:37:44
拡大解釈してどうすんだろ
0124デフォルトの名無しさん2006/02/05(日) 15:54:19
>>123
>>120はランタイムが嫌いな人間らしい
0125デフォルトの名無しさん2006/02/05(日) 15:55:38
俺には別途DL&インスコが嫌いな人間にしか見えないが
0126デフォルトの名無しさん2006/02/05(日) 17:12:58
>>119
XPで開発しているけど、
試験環境さえちゃんとあれば別に大して問題ない。

>>120
ランタイムと一緒に配布すればいいだけでは?
0127デフォルトの名無しさん2006/02/05(日) 17:22:36
>>117
レベルが低い間は自動売買ソフトのスレで聞きなさいよ。
もっと言語固有の問題に突き当たってからこっちに質問すればよし。
0128デフォルトの名無しさん2006/02/05(日) 17:37:44
>>117
MSHTML か XMLHTTPRequest 使えば WinInet よりも簡単に出来んずあんw

>>文字化けしたので
多うにこーでに変換して無いから あるいはその逆
0129デフォルトの名無しさん2006/02/05(日) 17:54:03
MSHTMLでPOSTってどうやってやるの?
0130デフォルトの名無しさん2006/02/05(日) 18:05:13
>>129
質問があいまいです
0131デフォルトの名無しさん2006/02/05(日) 18:09:13
帳票形式のコントロールってどうやってつくるの?
0132デフォルトの名無しさん2006/02/05(日) 18:11:30
>>131
頑張ってつくるの。
0133デフォルトの名無しさん2006/02/05(日) 18:25:18
>>MSHTMLでPOSTってどうやってやるの?
MSHTMLにポストする機能は無いんで <FORM method="POST">のSENDボタンをclick()でやるとか
0134デフォルトの名無しさん2006/02/05(日) 18:31:01
MSHTML使ってやる方法

1 IPersistStreamInitインタフェイスとしてMSHTML.HTMLDocumentを見る
2 IPersistStreamInit.Loadメソッドを呼ぶ
これでおk
0135デフォルトの名無しさん2006/02/05(日) 18:56:20
XMLHTTPRequestよりMSHTMLのほうが人気あるってことか
0136デフォルトの名無しさん2006/02/05(日) 19:22:45
>>131
ttp://www.grapecity.com/japan/support/database/P1_143.htm
01371092006/02/05(日) 19:39:35
>>119
>>TCP/IPの勉強。
本買って読んだのですが、具体的な使い方はほとんど書いていなく敷居が高すぎました

>>127
★★★自動売買ソフトを作ろうぜ★★★
http://live19.2ch.net/test/read.cgi/stock/1138091550/
このことですか?

>>128
レスありがとう
MSHTML か XMLHTTPRequestでぐぐってきます
エクセルに標準では入っていないと思うので
入れるところからはじめたいと思います



01381092006/02/05(日) 19:42:11
>>133-134
サーバーに直接データ送信は難しいですね
スクリプト組んでブラウザー経由で送信は簡単でしたが・・・
0139デフォルトの名無しさん2006/02/05(日) 20:07:21
>>137
具体的な使い方も何も、IPアドレスとポートを指定して、
何らかの決まったデータを送受信するだけ、ですよ。
0140デフォルトの名無しさん2006/02/05(日) 21:02:47
>>137
かわいそーーーーwww
  >>119の無配慮な発言で本を買わせてどーするwwww
  あーいう本って結構 値張るんでしょ??ww
  本買うまでもなく、Web ページ探せば知識がゴロゴロ転がってますよwww
  と言うか、まず中身確認してから買いましょうよwwww
  あと MSDN ちゅうのがあるでしょうにwww


              と近所のネコが小一時間
0141デフォルトの名無しさん2006/02/05(日) 21:07:16
VBの軽量化の手段を教えてください
0142デフォルトの名無しさん2006/02/05(日) 21:12:36
>>141
手当たり次第にファイル削除するか、
不必要なまでの構造化をしてエントロピを上げろ
0143デフォルトの名無しさん2006/02/05(日) 21:18:28
エントロピーの意味を知らない奴がいるなw
0144デフォルトの名無しさん2006/02/05(日) 21:20:52
(V)(´Д`)(V) えんとろぴー
0145デフォルトの名無しさん2006/02/05(日) 21:23:16
Functionばっかりしてたらやっぱり遅くなる?

あ、僕が>>141で言いたかったのは、実行時の速度の事です=軽量化につながるかなと思って

ほんとちょこっと機能を増やすだけでモッサリするんだから

上らへんでSubしまくれよって書いてあったけど、実際うんこ?

Form_Load時に余計な事させなかったら起動は速くなる?
0146デフォルトの名無しさん2006/02/05(日) 21:24:35
>>145
実行速度と体感速度は全然違うぞ
実行してUIが"もっさり"するのなら、適当にDoEventsでも入れてメッセージ処理させれ
0147デフォルトの名無しさん2006/02/05(日) 21:45:22
>>141
「VBの軽量化」の意味が全然分からん。
01481372006/02/05(日) 21:52:21
>>140
VBAによるTCP/IPプログラミング入門―HTTP,SMTP,POP3,FTPの基本がわかる TCP・IP基礎シリーズ
価格: ¥2,520 (税込)
http://www.amazon.co.jp/exec/obidos/ASIN/4789818772/249-3841508-3277910

北海道の田舎に住んでいるので、本屋行っても専門書は売っていないんです
アマゾンでそれらしき本を買うしかありませんでしたorz

>>あと MSDN ちゅうのがあるでしょうにwww

MSDNのヘルプで調べましたが、素人なので見ても理解に苦しみます。
なので質問をして少しずつ解決していくしかありません。

>>109に書いてあることは初心者向けですぐに出来そうな気もしましたが
MSHTML か XMLHTTPRequest でするとしても
参照設定でMicrosoft XMLだけみてもv2.6 v3.0 v5.0 version 2.0とたくさんあり
なにがなにやらさっぱりわからないのが現状です。


0149デフォルトの名無しさん2006/02/05(日) 22:12:32
>>145
VBのUIモッサリの理由は独自の描画処理にあるらしい
例えば FormにPictureを指定すると勝手に再描画されるでしょ
その辺の得体の知れない描画処理が原因とか

機能を豊富にしてコントロール増やすと 得体の知れない描画処理が増えて重くなるとか

特にVB上でのListViewは最悪だな
0150デフォルトの名無しさん2006/02/05(日) 22:17:13
この重い(想い)伝えたい


     なんつって^^;
0151デフォルトの名無しさん2006/02/05(日) 22:19:11
>>148
まぁこれを機にその分野に精通したらどうだろう
0152デフォルトの名無しさん2006/02/05(日) 22:21:36
>>148
最初は誰でも知識ゼロなんだから、あせらずゆっくり確実に一歩一歩。
■ このスレッドは過去ログ倉庫に格納されています