前のログ 次のログ

No.3250 RE:LAN上でのコピー・アンド・ペースト  投稿者:なつか [01/11/23(金)14:41分]

NAOさん、どうもありがとうございます。


過去ログでLAN関係を調べていたんですが、
Wnetconnection2とかいう言葉が出ていて、
初心者の僕には無理かなぁと思っていました。
わかりやすく説明していただいて、
本当にありがとうございました。

No.3249 RE:LAN上でのコピー・アンド・ペースト  投稿者:NAO★ [01/11/23(金)9:35分]

例えば、

comp1 というコンピューター上のsrcという共有フォルダーにある、
Test.txtという名前のファイルを、
Cドライブのdistフォルダーにコピーしたい場合。

FileCopy "\\comp1\src\Test.txt", "c:\dist\Test.txt"
~~~~~~~
ドライブの代わりに\\comp1にする以外は普通のファイルと同じように操作ができます。
もちろんプログラムが共有フォルダーにアクセスできる権限がないといけません。

No.3248 LAN上でのコピー・アンド・ペースト  投稿者:なつか [01/11/23(金)2:50分]

はじめまして。

ここで、かなり勉強させてもらっていますが、
わからないことがありますので、教えてください。

一対一でつながったLAN上での、
相手のファイルをコピー・アンド・ペーストしたいのですが、
相手のドライブの覗き方がわかりません。
VB,ネットとも初心者です。
どうかよろしくお願いします。

No.3247 RE: API ファイルを見るには   投稿者:靴下カタオ [01/11/23(金)0:29分] http://www.KenAshizuka.com/

この件は解決しました。


http://www.vector.co.jp/soft/win95/prog/se110745.html

にアクセスして、フリーの VBWin32API というフォルダーを
ダウンロードすることができました。
どうもありがとうございました。

No.3246 vbModelessの使用方法  投稿者:こばん [01/11/22(木)17:09分]

はじめまして どなたか教えてください


VBA(Excel2000)を使用して以下のことをしたいと思い
vbModelessを使ってみたのですがうまくいきません

やりたいこと
フォーム(トグルボタンとOKとキャンセル)をエクセルに表示
表示している最中に、エクセルのシートの値を訂正したい
しかし、アクティブなウィンドウがフォームからかわらない

どうしてもフォームを表示しているときにシートをいじりたいのですが
vbModelessを使用すると勝手にマクロがどんどん動いてしまいます
どうすれば フォームでOKを押すまでマクロをとめつつ
シートをいじれるようになるのでしょうか??

かなり解かりにくいと思いますが 
どなたか助けてください よろしくお願いいたします
 

No.3245 RE:perlからのVB.exeの起動   投稿者:花ちゃん [01/11/22(木)10:03分]

これって、WEB上でVBのEXEを起動したいって事じゃないのですか?

それなら、出来ないと思います。(Activex でないと)

No.3244 RE:縮小表示(無題)  投稿者:Tifany [01/11/22(木)8:23分]

花ちゃん さん ありがとうございます。


これで、試してみます。この中で 理解できない部分もありますので
実際に組み込んでみて 分からない部分があったらまたお願いします

本当に、ありがとうございました。

No.3243 ポップアップの判別方法とJava解析  投稿者:Kussy [01/11/22(木)2:19分]

はじめまして。

いつも逆引きなど利用させていただいております。

さて、今回私はPOPUPを閉じるプログラムを作ろうと考えております。
そこで、以下のように作ろうと考えました

新しいウィンドウが開くとハンドルを覚える
  ↓
ポップアップ広告なら閉じる
違うならそのまま
  ↓
以下繰り返し

閉じる方法は「APIを使って Window を操作する」で解ったのですが
ポップアップ広告との判別と、ハンドルの拾得方法がまったく解りません。
ポップアップ広告はやはりJavaを解析するようなプログラムでないと無理でしょうか?

どうすればよろしいのでしょうか。よろしくお願いいたします。

No.3242 先日のテキストファイルの読み込み  投稿者:文系学生 [01/11/22(木)2:03分]

レスをくださった皆様、本当に、ありがとうございました。


皆様のヒントを参考にさせて頂いたら、すぐに、あるべきマクロがわかり、
無事、教員からOKをもらいました。

本当にありがとうございました。

失礼します。

No.3241 RE:perlからのVB.exeの起動  投稿者:NAO★ [01/11/22(木)0:07分]

>perlからVB.exeを起動したいのですが、


どうやって起動しようとしたのかソースを提示しましょう。
それと起動するファイルが指定したパスにちゃんと存在しているか確認はされましたか?

>「内部コマンドまたは外部コマンド、 操作可能なプログラムまたはバッチ > ファイルとして認識されていません。」
わかりにくいのですが、これはいわゆる"File Not Found"のことです。
VB6のプログラムファイル名は"VB6.EXE"です。もし質問の通り"VB.exe"で起動しているなら
起動できないでしょう。
また、パスが違っているのかもしれません。

No.3240 perlからのVB.exeの起動  投稿者:うさぎ [01/11/21(水)21:45分]

perlからVB.exeを起動したいのですが、「内部コマンドまたは外部コマンド、 
操作可能なプログラムまたはバッチ ファイルとして認識されていません。」というエラーが出ます。
どうしたらよいのかわかりません。どなたか教えてください。 

No.3239 RE:縮小表示(無題)  投稿者:花ちゃん [01/11/21(水)21:22分]

imageコントロールでは、拡大・縮小での保存は、多分、無理かと思います。

明熊工房さんの明熊JPEG保存DLL V.3.10 を使用させて頂き PictureBox を使用しての
JPEG保存を試して見ました。
[明熊JPEG保存DLL V.3.10]については、明熊工房さん http://www.akikuma.cx/
にてDLして下さい。

Option Explicit

'明熊工房さん http://www.akikuma.cx/
'明熊JPEG保存DLL V.3.10 を使用させて頂きました。
Private Declare Function DCSavetoJPEG Lib "SaveJPG.DLL" _
(ByVal srchDC As Long, ByVal srcWidth As Long, _
ByVal srcHeight As Long, ByVal jpgf As String, _
ByVal Value As Byte, ByVal Prgr As Boolean) As Integer
Private Sub Command1_Click()
Dim p1sw As Long 'Picture1.ScaleWidth
Dim p1sh As Long 'Picture1.ScaleHeight
Dim p1w As Long 'Picture1.Width
Dim p1h As Long 'Picture1.Height
Dim p2sw As Long 'Picture2.ScaleWidth
Dim p2sh As Long 'Picture1.ScaleHeight
Dim ZoomS As Single
ZoomS = 0.8 '拡大・縮小率を0.8倍に
With Picture1
p1sw = .ScaleWidth * ZoomS
p1sh = .ScaleHeight * ZoomS
p1w = .Width
p1h = .Height
End With
With Picture2
'枠のサイズを考慮して
.Height = p1h * ZoomS - (.Height - .ScaleHeight)
.Width = p1w * ZoomS - (.Width - .ScaleWidth)
'元画像をサイズ変更して Picture2 にコピー
.PaintPicture Picture1.Picture, 0, 0, p1sw, p1sh
p2sw = .ScaleWidth '変更後のサイズを取得
p2sh = .ScaleHeight
End With
DoEvents
'JPEG 形式で保存 明熊JPEG保存DLL V.3.10を使用させて頂きました。
Dim Ret As Integer
Ret = DCSavetoJPEG(Picture2.hDC, p2sw, p2sh, "c:\test.jpg", 80, False)
End Sub
Private Sub Form_Load()
Form1.ScaleMode = vbPixels
With Picture1
.AutoSize = True
.ScaleMode = vbPixels
.Picture = LoadPicture("c:\test.bmp")
End With
With Picture2
.AutoSize = True
.ScaleMode = vbPixels
.AutoRedraw = True
End With
End Sub

No.3238 RE:縮小表示(無題)  投稿者:Tifany [01/11/21(水)17:38分]

早速、たくさんのレスありがとうございました。


実は、最終的に規定の大きさで縮小された画像をJPG形式で
保存したいと思っています。
そして PictureBox からであれば、JPG保存可能な DLLを見つけ
まして、それを利用したいと考えてました。

Imageコントロールを使っての拡大・縮小した場合、その画像を
JPGに保存可能でしょうか?

先ほどは、題名を書き忘れてしまい申し訳ありませんでした。

No.3237 RE:縮小表示(無題)    投稿者:NAO★ [01/11/21(水)16:59分]

imageコントロールを使うなら簡単です。


Private Sub Command1_Click()
With Image1
.Visible = False
'小細工1 画像をロードするときは、コントロールのサイズを画像の大きさに合わせる
.Stretch = False
.Picture = LoadPicture("c:\test\test.jpg")

'縦横比を変えずに拡大縮小
If .Height >= .Width Then
.Height = 150
.Width = .Width * 150 / .Height
Else
.Width = 150
.Height = .Height * 150 / .Width
End If
'小細工2 画像のサイズをコントロールの大きさに合わせる
.Stretch = True
.Visible = True
End With
End Sub

No.3236 RE:テキストボックス  投稿者:NAO★ [01/11/21(水)16:55分]

入力できないTextBoxコントロールの文字色を変えたいなら

EnableプロパティではなくLockedプロパティを使いましょう

No.3235 テキストボックス  投稿者:mar [01/11/21(水)16:20分]

はじめまして、VB初心者です。

初歩的な質問ですみませんが、
テキストボックスに表示する文字をEnableでFalseにすると、
表示される文字がグレーになりますが、
この文字色を他の色に変更するにはどうすればよいですか?
どなたか教えてください。
よろしくお願いします。

No.3234 csvファイルをEXCELファイル形式に変換  投稿者:さち [01/11/21(水)16:02分]

VB@超初心者です。


現在、下記環境にてVBのPGを改善しているのですが
ファイル形式の変換方法について教えてください。

環境: os:win98 言語:vb6.0 DB:oracle8.1.6

内容: 必要条件をoracleプロシジャーに渡し
    oracle側にてcsvファイルを作成。
    VBにてxlsクエリを実行してexcelファイルを保存

質問: xlsクエリーの利用方法?
    xlsクエリーの利用しないでcsv⇒excelファイルへの出力ができないか

以上です。どなたかわかる方がいらっしゃったらお教えください。

No.3233 Re:画像縮小(無題)  投稿者:ゆう(U) [01/11/21(水)15:45分]

●タイトルは書きましょう


> PictureBox (例えば 150x150ピクセル)に対して、画像をファイル
> (640x480 ピクセル)を 元画像の縦横比を保って 縮小表示したいので
> すが どの様に プログラムを組めばいいのでしょうか。
150x150ピクセルの中に(640x480 ピクセル)の絵を
640:480の比を保って複写したいという事ですね?

この場合640が大きいのでこれを150に縮小する比を
求めます。

(150/640)*480=112.5
150:112.5
ということで、この大きさに縮小するとOKです。
※ピクセルなので端数はどうにかしてください

拡大・縮小コピーは
「PaintPicture メソッド」
で可能です。

元絵(picture引数)は「LoadPicture 関数」で読み込んだ
物でも、別のコントロール等の「Picture プロパティ」や
「Image プロパティ」でもOKです。

No.3232 Re:ファイルへの上書き(コンボボックスのリストについて)  投稿者:ゆう(U) [01/11/21(水)15:23分]

「タイトル」は今回の内容の物にして


●「コンボボックスのリストについて」
 ○○さん ありがとうございました。分かりました。

と書けばOKでしょう。



> 技術評論社出版の「かんたんプログラミングVisualBasic5」の
> 228ページに配列のレコードが100行になったらテキストファイルに
> 書き込みをしない方法が書かれています。
どの様に書き込んでいるのかわかりません。

> If TargetRec = 100 Then
> Exit Sub
> End If
Closeは何処で行うかも不明ですし・・・


> たとえば、レコードが100行になった際にそのレコードの1行目から
> 上書きして行きたいのですがどのように行えばよいのでしょうか?
上書きならSeekで先頭へ戻すと可能ですが・・・
ヘルプ参照
「Seek ステートメント」
等も

上書きされた部分の内容が正常に読み込めるかは
わかりません。
※全角・改行など部分的に上書きされた場合の
 状況は自分で確認してみてください


通常の可変長テキストファイルであれば無理と考えた方が
良いです。
※可変長:1行(改行コードまで)の文字(バイト)数が可変


固定長のファイルであれば通常の出力自体もPutで行えば
問題は発生しません。
※「ランダムファイル」としてアクセスする

No.3231 画像縮小(無題)  投稿者:Tifany [01/11/21(水)14:54分]

はじめまして。VBで プログラムの作成をはじめたのですが、どうしても

方法が掴めず、教えていただけないでしょうか。

PictureBox (例えば 150x150ピクセル)に対して、画像をファイル
(640x480 ピクセル)を 元画像の縦横比を保って 縮小表示したいので
すが どの様に プログラムを組めばいいのでしょうか。

宜しくお願いします。

No.3230 コンボボックスのリストについて  投稿者:なると。 [01/11/21(水)10:00分]

ありがとうございました。分かりました。

技術評論社出版の「かんたんプログラミングVisualBasic5」の
228ページに配列のレコードが100行になったらテキストファイルに
書き込みをしない方法が書かれています。
If TargetRec = 100 Then
Exit Sub
End If
たとえば、レコードが100行になった際にそのレコードの1行目から
上書きして行きたいのですがどのように行えばよいのでしょうか?
よろしくお願いします。

No.3229 API ファイルを見るには   投稿者:靴下カタオ [01/11/21(水)1:14分] http://www.KenAshizuka.com/

いつもお世話になっております。


技術評論社の「Visual Basic 6.0 初級プログラミング入門(上) :河西朝雄著」

で、「API ビューア」について述べられているのですが、
これの利用のしかたについて教えて下さい。

この本によると、C:\Program Files\Microsoft Visual Studio\Common
の中に、Tools というフォルダーがあって、
この中に API ビューアがあるように記述されていますが、
私の C:\Program Files\Microsoft Visual Studio\Common
の中には IDE と Wizards98 があるだけです。

http://www.microsoft.com/japan/developer/library/vbcon98/vbconaccessingmicrosoftwindowsapi.htm

には、

1.[アドイン] メニューで [アドインマネージャー] を選択し、API Viewer をロードします。


2.[アドイ転 メニューで [API ビューア] をクリックします。

とありますが、私の場合、API ビューアはロードできるようになっていませんでした。
これは、私の Visual Basic Ver.6.0 が評価版であるためでしょうか。

No.3228 RE:Re:Re:テキストファイルの読み込み    投稿者:文系学生 [01/11/20(火)19:20分]

レスして頂いた皆様方、本当にありがとうございます。


皆様のアドバイスをもとに、現在、マクロを組みなおしています。

出来ましたら、再度、報告させて頂きますので、
その際は、よろしく、お願いします。

失礼します。

No.3227 Re:郵便番号から住所を読み取るのは可能ですか?    投稿者:ゆう(U) [01/11/20(火)16:55分]

> 顧客名簿作成で郵便番号を入力しただけで住所が表示される方法を教えてください.

1.郵便番号辞書を使ってもらう(ユーザー任せ)
2.コードで郵便番号辞書から持ってくる(使用実績なし)
3.旧郵政省のHPから郵便番号ファイルをDownLoadしてDB化して使う

1.はユーザーが面倒
2.は手法は知りません(新住所などはバージョンUp時などで反映)
3.はデータベースを作成してしまえば、DBアクセスの
  基本を覚えれば簡単!

私は3をお勧めします。
※新住所などのメンテナンスも簡単ですし

No.3226 郵便番号から住所を読み取るのは可能ですか?  投稿者:中辻 重行 [01/11/20(火)16:35分]

顧客名簿作成で郵便番号を入力しただけで住所が表示される方法を教えてください.


No.3225 RE:Re:Re:テキストファイルの読み込み  投稿者:あき☆彡 [01/11/20(火)15:00分]

>>教員が期待しているのは

>>ファイルの読み込み行数から、セルの行・列を求める
>>事なのではないでしょうか?
>>※商・余で求めるとループは一つですみます
>
>もしかしたら、教員が求めているのは
>このことかもしれません。
>
>ループを「一つ」にするコードを模索しているのですが、
>私のチカラでは何分、うまく、いきません。
>
>大変、申し訳ないのですが、
>商・余を求めてループを1つにする記述を
>教えて頂けないでしょうか?
ヒントでキ。
こんな感じに書くようにすると、

Cells(Row \ 3 + 1, Row Mod 3 + 1) = Text

Row = 0 (1,1)
Row = 1 (1,2)
Row = 2 (1,3)
Row = 3 (2,1)
Row = 4 (2,2)
Row = 5 (2,3)



と求まりますね。

あとは御自分で考えてみて下さい。

No.3224 Re:テキストファイルの読み込み  投稿者:ゆう(U) [01/11/20(火)14:54分]

> 商・余を求めてループを1つにする記述を

コードを教えてしまうと勉強にならないので・・・


この辺は基本ですから・・・

A B C
1: 00 01 02
2: 03 04 05
3: 06 07 08
4: 09 10 11

n:(n-1)*3+0 (n-1)*3+1 (n-1)*3+2
※表がずれるかも

例)
7(入力行)÷3(列数)=2余り1

ということで
行:商+1・・・3
列:余り・・・・1
でセルの特定が可能である・・・となります。

後はVBAにある「演算子」のどれを使うかですね。

No.3223 Re:Re:Cha(13)とかCha(10)の意味  投稿者:さくら [01/11/20(火)14:47分]

返事が遅くなってしまって、申し訳ありません。


■naok様
>もし、Chr関数とそのコードに関してならば、手っ取り早くは、MSDNライブラリのChr関数と Asc関数(Ascコード)をみると、使用例や注意点が載っています。
どこを探したら、一覧が手に入るかと思っていました。
頂いたヒントを元に、探してみようと思います。
ありがとうございました(^−^)

No.3222 Re:Re:テキストファイルの読み込み  投稿者:文系学生 [01/11/20(火)14:21分]

ゆう(U)さん、レス、ありがとうございます。


>ファイル名は固定
>ファイル番号は固定
>でOKなのですよね?

OKです。

>現在のコードで問題なく動作しているのでしょ?

動いております。

>教員が期待しているのは
>ファイルの読み込み行数から、セルの行・列を求める
>事なのではないでしょうか?
>※商・余で求めるとループは一つですみます

もしかしたら、教員が求めているのは
このことかもしれません。


ループを「一つ」にするコードを模索しているのですが、
私のチカラでは何分、うまく、いきません。


大変、申し訳ないのですが、
商・余を求めてループを1つにする記述を
教えて頂けないでしょうか?

是非とも、よろしく、お願いします。

失礼します。

No.3221 RE:コンボボックスのリストについて  投稿者:NAO★ [01/11/20(火)12:33分]

>この部分は、何を行っているのでしょうか??

>教えて下さい・・。

プログラムを読み解くのも練習の一つだと思います。
幸いVBにはステートメント毎に実行する方法とか、オンラインヘルプも充実していますので
この程度ならば難しくはないでしょう。

もしあまりプログラムの経験がないようでしたら、ヒント。
> If Len(buf) > 0 And buf <> .List(0) Then .AddItem buf, 0
という行は、
If buf <> "" Then
If buf <> Combo1.List(0) Then
Combo1.AddItem buf, 0
End If
End If
と読み替えるとわかりやすいかも。

がんばって。

ちなみにMSDNライブラリを調べると、オートコンプリートのやり方とかも紹介されています。
ご参考までに。

No.3220 Re:テキストファイルからの読み込み  投稿者:ゆう(U) [01/11/20(火)12:04分]

> 「VBA」を使って以下の規則でテキストファイルから「Excel」に読み込みたいのですが、

> 教員から「未完」のプログラムと指摘を受けました。
Excelは詳しくないですが・・・

ファイル名は固定
ファイル番号は固定
でOKなのですよね?

行数は不確定
1行1項目
ということで

現在のコードで問題なく動作しているのでしょ?
※行数が3の倍数でなくとも・・・

なら問題はないと思いますが、教員が期待しているのは
ファイルの読み込み行数から、セルの行・列を求める
事なのではないでしょうか?
※商・余で求めるとループは一つですみます

きちんと動作するのであれば、方法は一つでなくとも
OKだと思いますが・・・

No.3219 テキストファイルからの読み込み  投稿者:文系学生 [01/11/20(火)11:09分]

はじめて、書き込みます。


卒論の分析で以下の手順で、
「VBA」を使って以下の規則でテキストファイルから「Excel」に読み込みたいのですが、
教員から「未完」のプログラムと指摘を受けました。


どのように具体的に変えればいいのか、見当もつきません。

かれこれ、1週間ほど、悩んでいます。

申し訳ないのですが、どなたか、よろしく、お願いします。



テキストファイルから各行を1行ずつ読み込み、
  第1行はA列のセルに
  第2行はB列のセルに
  第3行はC列のセルに
  第4行はA列の2番目のセルに
  第5行はB列の2番目のセルに
  第6行はC列の2番目のセルに
  (以下同様に最終行まで)

次々に格納していく。


Private Sub テキストファイルからの読み込み()

Dim text As String
Dim i As Integer
Dim Row As Long

Open "テキストファイル名" For Input As #1

Row = 1

Do
For i = 0 To 2

Line Input #1, text

If EOF(1) = False Then

Cells(Row, 1 + i) = text

Else

Exit Do

End If

Next i

Row = Row + 1

Loop
Close #1
End Sub

No.3218 Re:MSFlexGridの固定列について  投稿者:ゆう(U) [01/11/20(火)10:35分]

意地悪な動作確認をすると、Mouse_Moveすら発生させずに

幅の変更が可能です。
※格子に重ねる感じでマウスを移動させる
 ここ↓から入れていく感じ
 ┌─┬─

フォーカスがきた時点から、外れるまで「タイマーコントロール」
で監視してはいかがでしょう?

他には、サブクラス化してヘッダー系のメッセージを
監視するとか・・・
※未確認です

後はユーザーにサイズ変更させずに、表示内容を確認しコードで
幅の変更をしてしまうとか・・・


ちなみに、固定列以外のサイズ変更は問題はないのでしょうか?

No.3217 HTML HELPの開き方  投稿者:tora [01/11/20(火)9:40分]

HTML HELPファイルを開きたいのですが。いろいろ探しましたが手順がわかりません。

どんたかお教えてください。
(会社の規定でNetscapeしかつかえずマイクロソフトのHTML HELPページが上手く開けず調べる事が
 できません)

No.3216 コンボボックスのリストについて  投稿者:なると。 [01/11/20(火)9:38分]

If Len(buf) > 0 And buf <> .List(0) Then .AddItem buf, 0

Cnt = .ListCount
この部分は、何を行っているのでしょうか??
教えて下さい・・。
また、このコンボボックスの中のリストは、テキストファイルから持ってきて
いるのですが、そのテキストファイルのデータに追加したいと考えています。

No.3215 RE:コンボボックスのリストについて  投稿者:NAO★ [01/11/19(月)23:55分]

>コンボボックスのリスト内にない場合は、コンボボックスの

>テキストボックスに入力するという命令を書きたいのですが、

えーと、普通の状態で入力できるようになっているので、テキストボックスに入力するだけなら
コードは必要ないと思います。
多分聞きたいのは入力された時にコンボに追加する方法だと思いますが。

入力されたものをコンボに追加するには次のコードを参考にしてみてください
このコードでは直前に追加したのと同じキーワードが続かなければコンボに追加していますが、
コンボの中のアイテムすべてと比べるようにすれば、重複したデータがなくなります。

Private Sub ComboExamination()
Dim Cnt As Integer
Dim buf As String
With Combo1
' キーワードの値を取得
If .ListIndex = -1 Then '-1:コンボに直接入力された
'直前のデータと同じでなければコンボにデータを追加
buf = .TEXT
If Len(buf) > 0 And buf <> .List(0) Then .AddItem buf, 0
Cnt = .ListCount
If Cnt > 50 Then
' 50件以上になったら古いものから削除
Combo1.RemoveItem Cnt - 1
End If
End If
End With
End Sub

No.3214 RE:RE:演算誤差について  投稿者:Lantern [01/11/19(月)22:13分]

あき☆彡さん ありがとうございます。

バリアントって、宣言しただけでは駄目なのですね。。。
はずかしい。。。。

これからも、よろしくお願いします。
(はずかしいのは、ないようにしたいです。。。)

No.3213 RE:演算誤差について  投稿者:あき☆彡 [01/11/19(月)21:43分]

> Dim vntVal0 As Variant

> Dim vntVal1 As Variant
> Dim vntVal2 As Variant
> Dim intAns As Integer
>
> vntVal0 = 3.1
> vntVal1 = -3
> vntVal2 = 0.1
>
> intAns% = Int((vntVal0 - vntVal1) / vntVal2)
> 'intAns% = 60 ←61にならない

Variantを使っていても・・・

vntVal0、vntVal1、vntVal2のデータ型が何になるか確認してみましたか?
データ型は TypeName 関数 で調べる事が出来ます。
ちなみに値代入後を確認した所
vntVal0:Double
vntVal1:Integer
vntVal2:Double
です。
せっかくVariantにしてるのだからDecimalを使ってみてはどうでしょう。

vntVal0 = CDec(3.1)
vntVal1 = CDec(-3)
vntVal2 = CDec(0.1)

intAns% = Int((vntVal0 - vntVal1) / vntVal2)

これでintAnsは61になります。

それでは、頑張って下さい

No.3212 演算誤差について  投稿者:Lantern [01/11/19(月)21:04分]

いつもお世話になっています。


今、プログラム中の演算誤差で詰まっています。
"開始位置""終了位置""間隔"から、"間隔数"を求める演算で、

Dim vntVal0 As Variant
Dim vntVal1 As Variant
Dim vntVal2 As Variant
Dim intAns As Integer

vntVal0 = 3
vntVal1 = -3
vntVal2 = 0.1

intAns% = Int((vntVal0 - vntVal1) / vntVal2)
'intAns% = 60 ←正しい

vntVal0 = 3.1
vntVal1 = -3
vntVal2 = 0.1

intAns% = Int((vntVal0 - vntVal1) / vntVal2)
'intAns% = 60 ←61にならない

のような、演算結果になります。
花ちゃんのその他や、過去ログ、では、Variantまたは、Currency型で
解決されていますよね。
この場合、どうしたらよいのでしょう。

今のところ、"間隔"の値に入力されそうにない値を想定して、
If Abs(intAns * vntVal2 - (vntVal0 - vntVal1)) < EPSILON Then
'ToDo
End If

と、あやしいコードになってます。
よろしくお願いします。

No.3211 帳票印刷ツールについて  投稿者:もも [01/11/19(月)20:37分]

現在、POSレジ上の画面に出ているデータを宅急便の様な形式の

伝票を自動印刷したいと考えているのですが、何かよいツールは
ないでしょうか。
ExcelかWordで行おうかとも考えましたが、POSレジですので、
組み込めません。
画面に表示しているため、クリスタルレポートの様なDBからの
データ取得も必要ない状態です。
データレポートが使用できるとよいのですが、データレポートも
クリスタルレポートと同様と聞くため、何がよいのかわかりません。
よいツールをご存知の方いらっしゃったら、教えてください。

No.3210 コンボボックスのリストについて  投稿者:なると。 [01/11/19(月)17:45分]

はじめて投稿します。

コンボボックスのリスト内にない場合は、コンボボックスの
テキストボックスに入力するという命令を書きたいのですが、
どのようにしたらよいのでしょうか?

No.3209 RE:MSFlexGridの固定列について  投稿者:NAO★ [01/11/19(月)15:02分]

すみません。試しにやってみたらMouseUPイベントではダメでした

MouseMoveなら幅の変更中はやはりイベントが発生しませんが、
変更し終わったときにイベントが発生するのでMouseUpの代わりになりそうです。
Dim colw As Long
Sub Form1_Load()
MSFlexGrid1.AllowUserResizing = True
colw = MSFlexGrid1.ColWidth(0)
End Sub

Private Sub MSFlexGrid1_MouseMove(Button As Integer, Shift As Integer, x As Single, y As Single)
If colw <> MSFlexGrid1.ColWidth(0) Then
colw = MSFlexGrid1.ColWidth(0)
MSFlexGrid1.Text = colw
End If
End Sub

No.3208 RE:MSFlexGridの固定列について  投稿者:NAO★ [01/11/19(月)14:02分]

変更前のColWidthのプロパティの値を保存しておき、

MouseUPイベント時にColWidthプロパティが変更されたかどうか
調べてみるのはどうでしょうか?

No.3207 re:Cha(13)とかCha(10)の意味    投稿者:naok [01/11/19(月)11:32分]

これは、Chr関数のことかと思いますが、違っていたら、ごめんなさい。

もし、Chr関数とそのコードに関してならば、手っ取り早くは、MSDNライブラリのChr関数と Asc関数(Ascコード)をみると、使用例や注意点が載っています。

No.3206 Cha(13)とかCha(10)の意味  投稿者:さくら [01/11/19(月)11:22分]

初めて質問させていただきます。

自分なりに検索もしたのでしが、見つからなかったので
教えて下さい。

件名にもありますように。Cha(13)とかCha(10)の意味なんですが
『改行が出来る』コトは分かってるんですが、1つ1つの意味が
分かりません。
こういったコードの一覧って、どこかにないでしょうか?

どなたか、宜しくお願い致します。

No.3205 MSFlexGridの固定列について  投稿者:ヒロ [01/11/19(月)11:12分]

はじめまして!

今回始めて質問させて頂くのですが、宜しくお願い致します。

今MSFlexGridにで固定列の幅が変更された時にどのイベント、
どのタイミングで値を取得したらいいのかわからなくて困ってます。
固定列の幅は変更できないとデータが入りきらないので、変更可能のままにしておきたいのですが
ちなみにMouseMoveやMouseUpは固定列だとイベントを認識してくれません。

いいアドバイスをお願いします。

No.3204 ネットワークケーブルの接続状態  投稿者:HDS [01/11/19(月)9:32分]

はじめまして


環境はWindows2000Pro (VB6.0)
ネットワークケーブルの接続状態を取得するAPI関数があれば教えて下さい。


No.3203 Re:モジュール間の呼び出し  投稿者:AYA [01/11/18(日)13:23分]

すいません。FORM間の呼び出しだったのですが、

おかげさまで出来ました。どうもありがとうございます。

今後はもうちょっと詳しく書くようにします。(謝)

No.3202 RE:小数について(RE:少数について)  投稿者:NAO★ [01/11/18(日)11:40分]

その1・文字列の中にピリオドがあれば小数(instr関数)

その2・文字列を整数系の変数(IntegerやLong)に変換して、元の文字列と比較する
    (小数があればイコールにならない)
などがあると思います。

その2の例だと
Dim Str As String
Str = Text1.Text

If CStr(CLng(Str)) = Str Then
Debug.Print "OK"
Else
MsgBox "整数のみ入力できます"
Exit Sub
End If
こんな感じでしょうか
でもこの場合だとカンマや\マークで区切った整数もエラーと見なします。(Ex. \1,000とか)

その3として小数以下は無条件で切り捨て(Fix関数)にするというのもありかな(^^;

No.3201 少数について  投稿者:さかな [01/11/18(日)1:24分]

初めて書き込みます

テキストボックスに少数が入力された場合に、
例えば1.5と入力して"少数は入力できません"と表示させるのには
どのようにしたらいいのでしょうか?
誰かご教授お願いします
本当に基礎中基礎の質問で申し訳ないです

前のログ 次のログ


VBレスキュー(花ちゃん)
Visual Basic6.0  VB6.0