X



古代VBプログラマ質問スレ(Ver.6.0 まで) part65 [転載禁止]©2ch.net
0001デフォルトの名無しさん
垢版 |
2015/08/30(日) 19:25:35.12ID:ZYoWCo0d
ここは古代に使われていたVisual Basic 〜6.0 の質問スレです。
質問者は使用しているOS、VBのバージョン、サービスパックのバージョン、
「何がしたくて、どうしたけど、どう困っているのか」を明確に書きましょう。

VB.NETは別物なので専門スレで、VBA、APIの質問もそれぞれのスレで。

○ 質問者の心得
 一.質問する前にMSDNやGoogle、過去ログにも目を通してみる。
 二.VBScript、インストーラーなどはこのスレでOK。
 三.質問は第三者にもわかりやすいよう簡潔かつ具体的に。
 四.荒らしは相手しない。

○ 回答者の心得
 一.答えられない質問は無駄に罵倒せずスルー。無理するな。
 二.代用法を強制しない。
 三.回答する上で必須ではない情報をむやみに聞き返さない。
 四.荒らしは相手しない。
 五.VB情報募集中。
 六.回答は質問者が理解できるよう具体的に。

MSDN Online Japan ホーム
 http://www.microsoft.com/japan/msdn/default.asp
Visual Studio 6.0 Service Pack 6
 http://msdn.microsoft.com/vstudio/downloads/updates/sp/vs6/sp6/default.aspx
Google
 http://www.google.co.jp/

前スレ VBプログラマ質問スレ(Ver.6.0 まで) part64
http://peace.2ch.net/test/read.cgi/tech/1393069842/

※「まず自分で調べる」クセを身につけよう。
0307デフォルトの名無しさん
垢版 |
2016/06/07(火) 22:57:53.12ID:fcyHNQmx
VBももうそんな歳かぁ
0309デフォルトの名無しさん
垢版 |
2016/06/30(木) 09:57:06.03ID:j4y3K9f+
>>303
当方ではそんな現象でないですけど
0310デフォルトの名無しさん
垢版 |
2016/09/07(水) 04:03:07.30ID:5oBV5n5N
ドラッグ&ドロップして、パスなしのファイル名だけ取得するにはどうしたらよい?
↓だとフルパスで取得してしまう

Private Sub TextBox1_DragEnter(ByVal sender As Object, ByVal e As System.Windows.Forms.DragEventArgs) Handles TextBox1.DragEnter

'ドラッグされている内容が文字列型に変換可能な場合
If e.Data.GetDataPresent(DataFormats.FileDrop) Then
'コピーを許可するようにドラッグ元に通知する
e.Effect = DragDropEffects.Copy
End If

End Sub

Private Sub TextBox1_DragDrop(ByVal sender As Object, ByVal e As System.Windows.Forms.DragEventArgs) Handles TextBox1.DragDrop

'ドロップされた内容を表示する
TextBox1.Text = e.Data.GetData(DataFormats.FileDrop)(0)

End Sub
0312デフォルトの名無しさん
垢版 |
2016/09/07(水) 05:46:01.84ID:5oBV5n5N
円マークで分割して最後を取得みたいに?
最悪それでもいいんだけどVBさんならちょっとしたオプションで出来るかなと思って
0315デフォルトの名無しさん
垢版 |
2016/10/05(水) 18:51:53.10ID:CThI016C
プログラム保存し忘れたんだけど復活させる方法ありますか?
ソースファイル単位では保存してます
0319デフォルトの名無しさん
垢版 |
2016/10/16(日) 17:22:47.11ID:dK/+e+o+
プロセス単位だとリソースをいくらリークさせても終わった時点でOSが面倒見てくれる
スレッドは自分で管理しないとプロセスが生きてる限りリークし放題
Excel VBAでしょーもない再起動が必要になったりするのはそれが原因
0320デフォルトの名無しさん
垢版 |
2016/10/18(火) 09:13:44.98ID:avoYV2sG
PNGを表示するのに明熊さんのTransG32.dllを使ってる人いる?
4000ピクセル四方程度のPNGは開けたりクラッシュしたり
どういう条件だとクラッシュするのか、
PNGの幅x高さの値と関係するのか調べても境界がはっきりしない
じゃあファイルのバイトサイズかなぁとログをとって気長に調べているのだけど
何か知ってる人はいますか
0321デフォルトの名無しさん
垢版 |
2016/10/18(火) 09:19:02.67ID:avoYV2sG
ああそうだ、開けるPNGファイルを
メモリの少ないPCでも開けるかやってみればいいか
0322デフォルトの名無しさん
垢版 |
2016/10/18(火) 21:27:37.76ID:mFczHo3i
すいません、
VB6の頃のopen文だっけ?に比べてVB.netやC#のファイル操作は遅くて
別のものを使うとVB6より速くなるみたいな
そんな記事をかなり昔みた記憶をふと思い出してググってみたのですが、その記事が見つかりませんでした。

どなたかこれの内容って覚えていませんか?
0323デフォルトの名無しさん
垢版 |
2016/11/21(月) 20:14:13.91ID:P4wVU5YC
誘導されてきました。
質問させてください。以下の現象が解決できず悩んでいます。
何か思い当たる解決方法をご存知の方がいれば、情報提供をお願いします。

■開発言語 : VB6.0(SP6だったと思う)
■プラットフォーム : Windows10(64bit)
■互換モード : Windows2000
■現象 : 「CommonDialog.ShowOpen」時にエラーが発生
■エラー内容 :
Microsoft Visual C++ Runtime Library
Runtime Error!
Program:xxxx\xxxx.exe
abnormal program termination

Windows8.1(64bit)では問題なく動作します。
互換モードをWindows2000以外にした場合、Windows10(64bit)でも問題なく動作します。
コモンダイアログはファイルを開く目的で実装しており、エラーが発生してもダイアログ自体は表示されます。
エラーを無視すればファイルの選択を行うことも可能で後続の処理も問題なく動作します。

以下のことは試したのですが、効果がありませんでした。
・「VB6Runtime」の最新化
・正常に動作する環境(Win8.1等)の「COMDLG32.OCX」を適用
・「VC++Runtime 2005〜2015」のインストール

以上、よろしくお願いします。
0325デフォルトの名無しさん
垢版 |
2016/11/23(水) 03:56:20.37ID:xKXFPlfV
>>324
件のプロセスをキックする親プロセスがいるのですが、
親プロセスがWindows2000互換で動作しているため、引きずられてWindows2000互換で動作してしまいます。

親プロセスの互換モードを変えれば、エラーは発生しないのですが、この親プロセスからは
他に300近いプロセスをキックしているため、変更した互換モードで他のプロセスの動作検証を行う必要が出てきます。

それは避けたいため、Windows2000互換のままでも解決できる方法を探している状況です。
0326デフォルトの名無しさん
垢版 |
2016/12/05(月) 03:32:50.56ID:cV+XaugA
子プロセスの互換モードって絶対親と同じじゃないとダメなんだっけ?
互換性データベースとかいじれば何とかならんのかな
0327デフォルトの名無しさん
垢版 |
2016/12/10(土) 19:10:41.50ID:R0LDy8hm
>>323
本件については、質問してから時間が経ってしまったこともあり
工期の問題もあったため、2003SV互換ですべて検証し直しました。

Win7(64bit)なんかではWScript.Runで呼び出すことで子プロセスに設定された互換モードで動かせていたみたいです。
Win10ではそれも効かなくなっているみたいですが。

>>326
色々調べた中で互換性データベースについては初めて目にしました。調べてみます。
0328デフォルトの名無しさん
垢版 |
2016/12/17(土) 08:36:14.70ID:jn0zESOo
整数型はLongを扱うプロパティが大部分なのとループも4バイト整数が効率的なはずなのに、
他人の書いたコードは大部分がIntegerです。この型を選ぶ理由を教えてください。
0330デフォルトの名無しさん
垢版 |
2016/12/19(月) 00:51:52.04ID:OTfESfoA
>>328
大昔のBASICにlong型がなかったから
当時の人材が今でも活躍してるんで。
0331デフォルトの名無しさん
垢版 |
2016/12/26(月) 08:04:16.12ID:Nfyo2sWs
コモンダイアログは使っちゃだめだよね
将来的に使えなくなる可能性があるからAPIで書いておかないと
という話の「将来」が今田
0332デフォルトの名無しさん
垢版 |
2016/12/26(月) 21:50:52.20ID:Rlq9+0td
将来的にVBは産廃になるから移行しやすいようにレイヤー分割しとけよ
という話が教会に異端認定されて迫害されたから今苦労してるんだよね
0333デフォルトの名無しさん
垢版 |
2017/01/29(日) 11:01:58.46ID:kKew+rKl
質問させてください。
VB初心者です。(普段はもっと古代言語を使用しています)

環境:windows7,office2010,vb6,activereports2.0j

VBのフォームにOLEを配置してEXCELを表示し、
ボタンを押すと、doverbメソッドが実行されてそのEXCELを編集出来るというプログラムがあります。
開発環境では問題無く動いたのですが、
実行環境で編集ボタンを押すと、押した時にはEXCELがアクティブになるのですが、
すぐにフォームのほうがアクティブになってしまい、EXCELを編集出来ません。
何度EXCELのほうにマウスを当てても戻ってしまいます。
環境かな?と思うのですが、何が原因なのか検討もつきません。
どなたか、何か思いつくことがあれば教えていただけないでしょうか?
よろしくお願いします。
0334333
垢版 |
2017/01/29(日) 11:36:27.70ID:kKew+rKl
timerイベントで以下の処理を行っているのが原因でした。
If Me.Enabled = True Then
Me.SetFocus
End If
根本的な原因では無さそうな気がしますが、
特に問題もないようなのでこの処理を削除しました。
0335デフォルトの名無しさん
垢版 |
2017/05/02(火) 07:16:38.64ID:8sTtya12
それはよかたですね
0336デフォルトの名無しさん
垢版 |
2017/05/06(土) 09:27:02.42ID:JeNBh43P
XPか7以降だったか
プロセスやスレッド間をまたがるフォーカス移動の挙動は仕様が変わってるから
SetFocusだけでは意図通り動かないと思う
説明がめんどくさいので解決したならいいけど
0339デフォルトの名無しさん
垢版 |
2018/01/05(金) 03:37:42.39ID:wxVAlpnt
VBで困ったときにネット検索しても余り出てこなくなったんだよ
0340デフォルトの名無しさん
垢版 |
2018/01/05(金) 09:30:37.13ID:7AXx45RK
パーツをペタペタ貼れるVB系は6.0しかないの?
.netでもそれさえあれば移行するのに。
0341デフォルトの名無しさん
垢版 |
2018/01/05(金) 09:51:10.00ID:UOfdxINC
Win7で普通に組めるのは良いが配置したコントロール類を一括ドラッグ、位置調整するのが辛いな
0344デフォルトの名無しさん
垢版 |
2018/01/09(火) 12:37:56.63ID:8WmxSfck
>>343
パーツがボタンやラベルのことならば標準機能で貼れる
お試し版あるからダウンロードして試したらヨカ
0345デフォルトの名無しさん
垢版 |
2018/01/09(火) 14:04:33.78ID:RylW2XZB
Microsoft Team Explorer for Visual Studio 2013のMicrosoft Visual Basic 2013を使ってみたのですけど、コントロールを貼り付けられるようには出来てないような?
VB6でいうところのオブジェクトを表示する事が出来ませんよね?
0347デフォルトの名無しさん
垢版 |
2018/01/10(水) 18:40:35.20ID:zurHFgf/
新規プロジェクトで
Windowsフォームアプリケーション選び
form1.vb選択して、右クリック
ビューデザイナー開いておいて
左側のツールボックス開いたらコントロール群あるから
選んで貼り付け
0348デフォルトの名無しさん
垢版 |
2018/01/10(水) 23:20:26.41ID:YQmlMnP3
ファイルリストボックスって
なまじっか英数字のファイル名だとソートしてるから、そのまま使えると思ってたら
漢字は中途半端なソートするね
0354デフォルトの名無しさん
垢版 |
2018/01/11(木) 18:35:50.09ID:SGG/aWUs
何イライラしてんの?生理?
0357デフォルトの名無しさん
垢版 |
2018/01/13(土) 01:01:21.10ID:Or/J88FT
馬鹿に馬鹿と指摘すると、悔しがってこうやって別IDで食って掛かってくるから楽しい
0358デフォルトの名無しさん
垢版 |
2018/01/13(土) 07:18:55.84ID:odSwvUdp
自称「馬鹿に馬鹿と指摘する」馬鹿さん、馬鹿にされて楽しそう。
0361デフォルトの名無しさん
垢版 |
2018/01/15(月) 12:48:58.31ID:88lrhbw0
俺は気にした方がいいと思うよw
さすがにこのやり取りは質問者が叩かれて当たり前。

これが2002年ならわかる。2018年にもなってこれはない。
さすがに釣りだとと思ったらどうやら大真面目らしいのも何とも
0362デフォルトの名無しさん
垢版 |
2018/01/15(月) 13:46:09.53ID:JizfWv+s
本当は質問があって嬉しかったくせに
0363デフォルトの名無しさん
垢版 |
2018/01/15(月) 15:33:41.73ID:qFZdWehx
好きな子にいじわるしたくなっちゃう小学生男子の気持ち?
0367デフォルトの名無しさん
垢版 |
2018/01/15(月) 20:36:20.49ID:3WbICYQr
>>365
いじってみてもどうなっているか理解できないから馬鹿だろうが。そもそも製品の構成すら理解しとらん馬鹿だし。
0369デフォルトの名無しさん
垢版 |
2018/01/15(月) 21:26:47.29ID:3N9Vi6BJ
知らないこと と 自分の力で理解できないことを一緒にして他人を煽ることしかできない馬鹿

ID:3WbICYQr
0370デフォルトの名無しさん
垢版 |
2018/01/16(火) 16:19:30.22ID:BeNqsycH
開発中に気が触れてしまう人もいるので、そっとしておきましょう
ここでは、開発が本業でなく、例えば八百屋さんがプログラムをいじってるなんて場合もあるのだから
自分の狭い専門分野で人を見下すのはバカ丸出しなんだよね
0371デフォルトの名無しさん
垢版 |
2018/01/16(火) 19:32:19.61ID:sMiE+lp1
>>370
八百屋ナメんなよコラ。お前市場行ってセリで買えるか?セリにsnipetなんかねえんだよ。
全部キロ単位の値段設定だぜ?即座に頭で歩留まり計算しておかないと儲け出ねえんだぜ?
八百屋、魚屋のような生モノ扱う仕事は常にtry-catch-finaryでロスが出ねえように考えて仕入れ販売
しないとあっさり赤字こくんだよ。
コード屋はそりゃ大変だろうが、楽な仕事なんかねえんだよ
0372デフォルトの名無しさん
垢版 |
2018/01/17(水) 01:08:40.33ID:1Qaovn3i
>>370
青果市場のセリで、キャベツを指差しして「これは白菜ですね!」とか大声で叫んでみろよ。
お前のようなゆとりの馬鹿が社会をダメにする。
0374デフォルトの名無しさん
垢版 |
2018/02/03(土) 08:34:10.13ID:nKXUpnsB
Integerが2バイトしかないなんてヒドイ
0376デフォルトの名無しさん
垢版 |
2018/02/16(金) 05:57:15.07ID:W1XJdyx1
☆ 日本の、改憲を行いましょう。現在、衆議員と参議院の
両院で、改憲議員が3分の2を超えております。
『憲法改正国民投票法』、でググってみてください。国会の発議は
すでに可能です。平和は勝ち取るものです。お願い致します。☆☆
0377デフォルトの名無しさん
垢版 |
2018/02/26(月) 06:40:53.98ID:eCGyw0Qs
Private Sub Form_Load()
  Text1 = "106.456"
  Command1.Caption = "▲"
End Sub
となっています

1ドルなん円という数字が入っていて
小数2位以下はいらないので▲ボタンを押すごとに
106.456→106.500→106.600→106.700・・・
となるように
Private Sub Command1_Click()
Dim v&
  v& = Int(Val(Text1) * 10) + 1
  Text1 = Format(v& / 10, "0.000")
End Sub
2行のプログラムをつくりましたが、あら不思議、これは動きません
Intが悪さをしている、Intはいらないと分かったのですが
なぜIntが悪さをするのでしょうか
0379デフォルトの名無しさん
垢版 |
2018/02/26(月) 11:36:26.78ID:eCGyw0Qs
整数型に変換してるんですけど
INTの外にある「+1」が無効になる感じです
0381デフォルトの名無しさん
垢版 |
2018/02/26(月) 13:21:07.72ID:WN96vgWt
Dim v&
この瞬間見る気が失せた

v& = Int(Val(Text1) * 10) + 1
    ↓
v& = CInt(Val(Text1) * 10) + 1
0382デフォルトの名無しさん
垢版 |
2018/02/26(月) 19:01:29.09ID:eCGyw0Qs
お二方のは、最初の1回だけ動いて、
以降は動かなくなりましたよ
しかしCsngやValだと
106.456→106.500→106.600→106.700・・・
としたいところ
106.456→106.600→106.700・・・
になってしまうけど、まぁ動きました
お手間をとらせました、有難うございました
0384デフォルトの名無しさん
垢版 |
2018/02/26(月) 20:28:52.46ID:eCGyw0Qs
ああ分かったよ
実数の扱いの深い部分だね
Debug.Printで見ても表示されないから分からなかったわけだ
0385デフォルトの名無しさん
垢版 |
2018/02/26(月) 20:48:01.22ID:eCGyw0Qs
これだ
? Csng("125.600") * 10
1256

? Csng("125.600") * 10 + 0!
1256

? Csng("125.600") * 10 + 0.0
1255.99998474121
0387デフォルトの名無しさん
垢版 |
2018/02/27(火) 19:18:36.84ID:ckmPPEEZ
>>386
と思うだろ?ところがすっとこどっこい
お前が使ってるソフトを作ってるやつも似たりよったりなんだぜw
0388デフォルトの名無しさん
垢版 |
2018/02/27(火) 19:24:31.43ID:Al9WGUeE
VB.Net ではなくVB6.0を愛用してます。
世の中64ビットOSになり、次は128ビットになりっとどんどん大きくなると思うんですが、
今まで作成した私のVB6.0のアプリは今度どうなるのでしょうか。
多少VC++が分かるんですが、実装するのはやっぱり使い慣れたVB6.0が手っ取り早いし簡単で、ずっと使いたいんですが、、、
0390デフォルトの名無しさん
垢版 |
2018/02/28(水) 08:01:30.43ID:hBhv/I2a
>>388
切迫感無いですね
保全関係の請負で食べてる人ですか?
それだけ過去資産持ってるならそれをC++なりで再現する方向で精進するのが普通の発想だと思いますがね
0393デフォルトの名無しさん
垢版 |
2018/03/07(水) 22:19:09.25ID:rslQbK+P
Basic系の言語って
今でも有るのですか
0394デフォルトの名無しさん
垢版 |
2018/03/07(水) 23:54:20.09ID:fiBk/l1y
「系」で良いのなら全ての現代的プログラミング言語は
BASICの影響を受けたBASIC系言語と言えるよ
プログラミング言語の系図ぐぐってみ
0395デフォルトの名無しさん
垢版 |
2018/03/08(木) 00:13:41.52ID:FnIaUAPR
修正
Basic言語って
今でも有るのですか
0399デフォルトの名無しさん
垢版 |
2018/03/08(木) 16:00:50.26ID:FnIaUAPR
大昔N88やクイックBasicで
遊んでいたのでちょっと気に成った
0400デフォルトの名無しさん
垢版 |
2018/04/09(月) 16:21:33.75ID:VHPh6678
YoutubeをTHXでダウンロードすると動画タイトルがファイル名になることがあって
動画タイトルに連音符のような特殊文字が使われているとVBで扱えなくなる
エクスプローラでリネームしてやれば済む話だけども
寝てる間にダウンロードして所定のフォルダに所定のファイル名で保存するプログラムは動作しない

変な文字コードが入り込んだファイルというのはFileListBox上には存在するけども
FileLen,Open,Name,FileCopyなどでは存在しないファイルとなる
実際のファイル名とVBが見ているファイル名が違うからだと思われる
0401デフォルトの名無しさん
垢版 |
2018/04/14(土) 13:16:18.18ID:o+IDV1P4
例えば適当なテキストファイルがあって、それをエクスプローラで
12♬34.txt
とリネームします
これをVBのプログラムで読むには?
0402デフォルトの名無しさん
垢版 |
2018/04/14(土) 20:38:42.77ID:cGW/rI9o
そもそもVB6ってロングファイルネームサポートされてないんじゃ?
8.3形式のファイル名で読むしかないんじゃね
0404デフォルトの名無しさん
垢版 |
2018/04/18(水) 00:07:35.39ID:tthgPYsW
>>401
そもそも VB6.0 のコードエディタに貼り付けても化けちゃうしw
CreateFileW 等の API を使ってゴリゴリ書くしかないだろうね。

あと、MAX_PATH を超えるような場合は \\?\ や \\?\UNC\ 等のプレフィックスをつける必要がある。
ttps://msdn.microsoft.com/en-us/library/windows/desktop/aa365247(v=vs.85).aspx
0405デフォルトの名無しさん
垢版 |
2018/04/18(水) 01:10:14.49ID:Fou0n0Q0
まだ使ってる人いるのかw
VBって割と最初からUnicode対応だと思ったけど、IDEのエディターやコンパイラは対応してなかったのかw
0406デフォルトの名無しさん
垢版 |
2018/05/23(水) 19:48:49.05ID:Au5e7VGg
僕の知り合いの知り合いができたパソコン一台でお金持ちになれるやり方
役に立つかもしれません
グーグルで検索するといいかも『ネットで稼ぐ方法 モニアレフヌノ』

LVCSB
レスを投稿する


ニューススポーツなんでも実況