前のログ 次のログ

No.2300 RE:RE:ファームを常に前へについて  投稿者:花ちゃん [01/6/18(月)10:02分]

もう少し親切なサンプルをここのHPの他のプロセスとの連携の中にUPしておきました。

よかったら、参考にして下さい。


==================================== 

  Shell で起動したプログラムを最前面に出す方法の 追 記

====================================

最前面に表示するを試す場合 ウィンドウのZオーダーの配置を示す定数の宣言 を

'Private Const HWND_TOP = 0    'ウィンドウをZオーダーの一番上に配置する

あたりから試して下さい。

Private Const HWND_TOPMOST = (-1)  'ウィンドウをウィンドウリストの一番上に配置する

これですと後で邪魔になるかも知れませんので?、  念の為

No.2299 新規保存について  投稿者:memi [01/6/18(月)9:55分]

超初心者です。いつも参考にさせて頂いてます。

現在以下のようにエクセルを呼び出し編集し、上書き保存をしています。
この保存を新規保存とし毎回名前を変更して保存したいのですがどうすれば良いのか
わかりません。勿論、エクセルについての花ちゃんのページは拝見させて頂きました。
 ' Worksheet を名前をつけて保存します。
 xlSheet.SaveAs "c:\Temp.xls"

'名前を付けて保存の場合
  objExcelApp.SaveAs "C:\test01.xls"
等は、ファイル名を既に、ここで指定しているのだと思いますが、
開くファイルはいつも同じで、毎編集後新規ファイルとしてその都度名前をつけて、
保存出来るようにしたいです。
どのようにすれば良いのでしょうか。 


Dim number As Integer


Private Sub Command2_Click()
Dim xlapp As Excel.Application
Dim xlbook As Excel.Workbook
Dim xlsheet As Excel.Worksheet

Open "ryousan" For Input As 1
Input #1, number
Close #1
Text4.Text = number

Set xlapp = New Excel.Application
Set xlbook = xlapp.Workbooks.Open("C:\ttt.xls")
Set xlsheet = xlbook.Worksheets("aaa")

xlsheet.Cells(number, 3) = C3.Text
xlsheet.Cells(number, 4) = Text1.Text
xlsheet.Cells(number, 1) = C1.Text
xlsheet.Cells(number, 6) = Text7.Text
xlsheet.Cells(number, 5) = C5.Text
xlsheet.Cells(number, 7) = Text6.Text
xlsheet.Cells(number, 8) = Text8.Text
xlsheet.Cells(number, 9) = Text9.Text
xlsheet.Cells(number, 10) = Text10.Text
xlsheet.Cells(number, 11) = Text11.Text

xlapp.Application.Visible = True
xlbook.Application.WindowState = xlMaximized
xlsheet.PrintPreview

'book保存
xlbook.Save

xlapp.Application.Visible = False

xlapp.Quit
Set xlapp = Nothing
Set xlbook = Nothing
Set xlsheets = Nothing

number = number + 1
Open "ryousan" For Output As #1
Write #1, number
Write #1,
Reset

End Sub

宜しくお願い致します。

No.2298 RE:RE:Shell で起動したプログラムを最前面に出す方法  投稿者:花ちゃん [01/6/18(月)9:50分]

AppActivate でうまくいかないようでしたら(最小化されていたら表示されない)

ここのHPの他のプロセスとの連携の中に[Window を操作 (終了・アクティブ・元のサイズに戻す・最前面に表示・最小化)]をUP
しておきましたので(サンプルコードは自作ソフトからダウンロードして下さい)一度試して見て下さい。
APIを使っておりますが簡単なAPIですので


No.2297 RE:ファームを常に前へについて    投稿者:じんじん [01/6/18(月)9:31分]

花ちゃんさん、とても丁寧な解答で、ソースまで書いていただいてありがとうございます。

早速試してみたいと思います。

No.2296 RE:Shell で起動したプログラムを最前面に出す方法    投稿者:ゆうこ [01/6/18(月)9:00分]

花ちゃん さんへ


回答 ありがとうございます。
少し説明不足だったので 追記します。

Main.exe と言うプログラムから text1.exe , test2.exe , test3.exe をShellで起動します。
これらを ある時間がきたら AppActivate を使って前面に出して見せるものを切替えています。
これら Main.exe , text1.exe , test2.exe , test3.exe の中では AppActivate にしたものが
前面に行ってくれるのですが
別の手動であげたForm(たとえばエクスプローラーやフォルダーのForm)等 よりも前には出てくれません。
10秒ほど待っていると 前に出てくれたり出なかったりと 思った動きをしてくれません。

AppActivate は自分が起動したものの中だけで有効なコマンドなのでしょうか?

No.2295 RE:ファイルを印刷  投稿者:花ちゃん [01/6/16(土)23:22分]

ここのTOPページから見て下さい


No.2294 ファイルを印刷  投稿者:ぽん [01/6/16(土)21:40分]

はじめまして

いまVBを勉強中なのです
テキストボックスにコモンダイアログか何かで指定したファイルをいれ、
コマンドボタンを押すと、その指定されたファイルが印刷できるようにするには
どうすればいいですか 教えてください

No.2293 OLEDragDropで複数ファイルをD&Dしたいのですが  投稿者:SOL [01/6/16(土)1:25分]

ファイルが一つだけのD&Dは出来たのですが、複数ファイルのD&Dが出来ません(ともにOLE)。

次から作るプログラムで使いたいので、どうぞご存知の方ご教授願います。
あと、ファイル出力時の余分な改行はどうすれば防げるのでしょうか?
よろしくお願いしますm(_ _)m

No.2292 RE:GetObjectがうまくできない  投稿者:花ちゃん [01/6/15(金)23:39分]
他の方法で起動してもマクロが無効にはなりませんので(メッセージが表示されないだけ=マクロを無効にできない)

他の方法で一度起動して、確認して見て下さい。


No.2291 RE:Shell で起動したプログラムを最前面に出す方法  投稿者:花ちゃん [01/6/15(金)23:36分]

通常は AppActivate "Microsoft Excel - Book1" で出来るはずですが?

指定されているVBのフォームが特別なフォームなのでしょうか(最前面に表示するとか)

>有る時間が来たら前(最前面)に出したいのです。
この場合キャプション名が解かっていればタイマーを使って上記処理でできます。

No.2290 Shell で起動したプログラムを最前面に出す方法  投稿者:ゆうこ [01/6/15(金)18:06分]

Sellで起動したプログラムのFormを 他のプログラムのFormより

前(最前面)に出す方法を教えてください。

下記で出そうとしたのですが・・・前に出てくれません。
IDProcess = Shell("Test.Exe", vbNormalFocus)
AppActivate IDProcess
追記です。


Sellで起動した時のみではなく 既に起動してあるものを 有る時間が来たら
前(最前面)に出したいのです。


No.2289 RE:VB6でコメントアウト    投稿者:うえっち [01/6/15(金)17:03分]

メニューバーから「表示」-「ツールバー」で「編集」を

チェック状態にして下さい。
それらしきアイコンが出てくると思います。
それでコメントアウトが一括して出来ます。
コメントを外すことも一括して出来るので、かなり
便利になると思いますよ。

No.2288 VB6でコメントアウト  投稿者:おーちゃん [01/6/15(金)16:48分]

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

VB6で、コメントアウトが便利に出来ると聞いたのですが、
どうやるのでしょうか?
例えば、20行を一括してコメントアウトする。。。等できるのでしょうか?
ヘルプ見ても見当たらなかったので・・・。

初歩的な質問ですみませんが、宜しくお願いします。

No.2287 Page Downを行いたい。  投稿者:初心者 [01/6/15(金)16:46分]

ACCESSのVBAになってしまうのですが、ボタンを押してPage Downと同じ処理を行わせたいのですが、
どうすればよろしいですか?

教えてください。お願いします。

No.2286 RE:ファームを常に前へについて  投稿者:花ちゃん [01/6/15(金)16:26分]

スクリーンセーバーの上に表示される の方は出来ない(多分)と思うので


スクリーンセーバーを解除する方法はマウスを移動させることでできます。

SystemParametersInfo API関数を使ってスクリーンセーバーが起動しているか監視し
起動していれば SetCursorPos API関数でマウスを動かします。
簡単なサンプルです。(現在のマウスの位置を取得するのであればここのHPの” マウス位置の設定と取得”を見て下さい)

Option Explicit
Private Declare Function SetCursorPos Lib "user32" (ByVal x As Integer, ByVal y _
As Integer) As Long

Private Declare Function SystemParametersInfo Lib _
"user32.dll" Alias "SystemParametersInfoA" _
(ByVal uiAction As Long, ByVal uiParam _
As Long, pvParam As Any, ByVal fWinIni _
As Long) As Long

Private Const SPI_GETSCREENSAVERRUNNING = 114
Private Type MoPoint
x As Long
y As Long
End Type
Dim x As Long
Dim y As Long
Private MoP As MoPoint

'============================

Private Sub Timer1_Timer()
Dim lngSaverOn As Long
SystemParametersInfo SPI_GETSCREENSAVERRUNNING, 0, lngSaverOn, 0
If lngSaverOn <> 0 Then
If y = 0 Then
y = y + 100
x = x + 100
Else
y = 0
x = 0
End If
MoP.x = x
MoP.y = y
SetCursorPos MoP.x, MoP.y
End If
End Sub

注意 VB5.0 付属の API ビューア からSystemParametersInfo を貼り付けると間違っているので動きません。
   これでかなり、なやみました。



No.2285 FTP関連について  投稿者:そう [01/6/15(金)16:00分]

始めまして

現在、私はFTP関係の処理をつくているのですが、どうしてもうまくいきません
詳しいかたがいましたら教えていただけないでしょうか。
わからない点は、InetのexecuteのDIRを使いFTP側のフォルダーの存在チェックを
おこないたいのですが、うまくいきません。
うまくいかないといいますのは、FTPからの応答が1,3,5しかえってきません
どうすればよろしいのですか?
と上記のやり方で知ることができるのでしょうか?
できなければInetどうすればできるのでしょうか?
詳しく教えてください。お願いします。

No.2284 InetでのFTPについて。  投稿者:みらくる [01/6/15(金)14:02分]

はじめて投稿しますみらくるです。

今、Inetを使ってftpサーバーのファイル名の一覧を
リストボックスに表示させているのですが、ファイルの更新日付を
取得する方法はないのでしょうか?
executeメソッドでサイズを取得することができるのは
知っているのですが、更新日付を取得する方法がどこを
探しても載っていないので、どうしたらよいか困ってます。
それとも日付を取得することはできないのでしょうか。
DOSでのftpコマンドではDIRをうつとファイルの名前から
サイズ、日付まで表示されるのにInetのexecuteメソッドでの
DIRはファイル名しかGetchunkで取得できないですよね。
それで、executeメソッドでサイズを取得できるのなら更新日付も
取得できると思ってるのですが。。。
誰かわかる人がいたら是非教えてください。
よろしくお願いします。

No.2283 実行可能ファイルでエラー??  投稿者:エレク [01/6/15(金)11:36分]

エレクです。いつもお世話になっています。


VB6(SP3)でOracle8(L8.06)を使用しています。
すべてサーバーにインストールされていて、サーバーでVBを実行しています。

VB起動(VBP)で実行すると正常に終了するのですが、実行可能ファイル(EXE)を作成し、
実行すると以下のエラーがでてしまいます。

「440:OIP-04099:フィールド凱定サラグはみつかりません」

実際、Oracleの表のフィールド名は「確定フラグ」なのですが、なぜか「凱定サラグ」となって
いるのです???。EXEにしたとき漢字コードが異なるのでしょうか?
このエラー個所をフィールド名ではなく、フィールド番号で記述するとエラーはなくなりました。
EXEにコンパイルするときに指定があるのでしょうか???

どなたか教えてください!!大変困っています。
宜しくお願いします。   エレク

No.2282 棒グラフのような横バー付き表出力  投稿者:のりりん [01/6/15(金)11:26分]

こんにちは、VB初心者です。 VBにどんな機能があるかもあまり知らなくてこまっています。

データベースから日付や各値を持ってきて画面の表に出力します。
年月日も固定ではなく、検索条件により表示します。
---------------------------------------------------------------------
     | 年月
     | 日付          日付           日付
     | 0:00  8:00  16:00  0:00  8:00  16:00  0:00・・
---------------------------------------------------------------------
機械名  | 機械詳細             機械詳細 機械詳細           
        _______________ ____ ________
機械a@ | | 棒に色をつけ規格等を表示  |    |        
         ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄  ̄ ̄ ̄ ̄  ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄
--------------------------------------------------------------------- 
機械名  | 機械詳細
        _____________
機械a@ | | 棒に色をつけ規格等を表示|・・・・・・・・・・・・・・・
         ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄
--------------------------------------------------------------------- 
横バー(棒グラフのような形)の長さは開始日時から終了日時までの長さで決まっていません。
日付も検索条件により出力日数が変わってくるし機械も検索条件により何種類あるか未知数です。
したがって縦横のスクロールバーも必要となってきます。 バーの色も条件によって変更しなく
てはいけません。 スプレッドシートをしようと思ったのですが、バーの長さがランダムなため
無理なような気がしてきました。 ピクチャーボックスかな?と思っているのですが、どうやっ
書けば良いか皆目見当がつきません。 フォームのとり方もピクチャーボックスにラベルで項目
をとってしまったら、未知数はラベルで取れないと思うし・・・ 頭を抱えています。

 誰か、アドバイスをお願いします。 初心者な者で簡単な方法があれば嬉しいです。

No.2281 GetObjectがうまくできない  投稿者:たえ [01/6/15(金)11:20分]

はじめまして。

VBからマクロを含む(Auto_Openを含む)ExcelファイルをOpenさせ
ようとしています。

こちらのHPにあるヘルプで

  1 Set myXlsApp = CreateObject("Excel.application")
  Set myXlsBook = GetObject("エクセルファイルのPATH")

だと、マクロが有効に出来るとあったのですが、
実行すると、マクロの有効無効の確認メッセージの後、
「オートメーションエラーです」のメッセージが表示されて
しまいます。

よい解決策があれば宜しくお願いします。



No.2280 添付ファイル付メールを送受信したい  投稿者:tsuji [01/6/15(金)10:24分] http://www.fuji-dynamics.co.jp/

だいぶ前に作ったデータベースアプリケーションを改良しながら皆で使っています。

データベースはaccess(2000)でファイルサーバーに入っています。
ファイルサーバーを直接利用できるユーザーには問題ないのですが、
それ以外の人には必要なレコードをCSVにしてメールに添付して凌いでいます。
DB→CSV(その逆も)はアプリケーションから一発で出来るとしても、
添付メールの送受信は手作業でやっています。
これを何とか自動化したい!
(事務処理の担当者にメールの介在を意識させないくらいというのは欲深いか?)
過去ログでご自分で解決なさった方(#1104、1120「メールの自動送信」たけすいさん)
を見かけましたが私にはそんな力量がありません。
力になってくださる方おられましたらよろしくお願いします。

No.2279 RE:ファームを常に前へについて  投稿者:じんじん [01/6/15(金)9:24分]

間違えて同じ質問を4回も書きこんでしまい、申し訳ありませんでした。

にもかかわらず、早速のお返事をいただき、花ちゃんさんありがとうございます。


>どうしてもならスクリーンセーバーをなしに設定したらいかがですか!

現在、ネットワークの監視ツールを使ってサーバー監視を行っているのですが、
サーバーがダウンしたときに今VBで作っているフォームが画面に表示されるように
したいのですが、普段はサーバーがダウンすることは無いのでスクリーンセーバーを
かけておき、サーバーがダウンしたときにフォームが表示されるようにしたいと思っています。

上記の理由で、

・スクリーンセーバーの上に表示される
・スクリーンセーバーが消えてフォームが表示される

のいずれかができればと思いますので、よろしくおねがいします。

No.2278 RE:ファームを常に前へについて  投稿者:花ちゃん [01/6/14(木)23:15分]

>スクリーンセーバーの方が手前に表示されてしまいます。


スクリーンセーバーの方が後ろに隠れたら何のためのスクリーンセーバーですか?
元々スクリーンセーバーは画面の焼きつき防止のためのものです。
どうしてもならスクリーンセーバーをなしに設定したらいかがですか!



No.2277 Re:データベースソフト  投稿者:NoName [01/6/14(木)19:17分]

Setup.exeを作成するときに、mdbファイルは追加されてますか?

すぐに思いついたのがこれなんですが・・・。

No.2276 RE:フォルダーの存在確認&ファイル書き込み  投稿者:花ちゃん [01/6/14(木)18:41分]

フォルダーの場合は


Text1.Text = Dir("c:\windows", vbDirectory)

ヘルプでDir関数を調べて下さい。

エラー処理についてはどうすればよいかと言うより 貴方がどうしたいか、ですよね

私なら丁寧にするならドライブの空き容量を事前に調べて容量が無ければメッセージをだす。
それが面倒なら On Error Resume Next 等のエラー処理をしておいてエラーが発生すればメッセージをだす。

面倒な方を選択させるなら 「VISUAL BASIC 6.0 300の技」という本の93ページを見て下さい。

No.2275 範囲指定のお返事について  投稿者:sicks [01/6/14(木)18:08分]

“花ちゃん”こんにちは。大変よく分かりました。ありがとうございます。


Case Is >=1 And Is < 5 とか
Case Is >=1 And Case Is<5とか
いろいろ試してみましたがやはりAndを使っての範囲指定は出来ない
のだろうと思いました。(本に書いてはいるが)

Case文を上からたどって判定していることを考えれば
“花ちゃん”のおっしゃるとおり
>なら降順、<なら昇順でいけますね。両端あってこそ範囲指定!という感覚が捨て切れなかったもので…

また、Int(Number)の考え方なども大変参考になりました。
まだ始めたばかりですがこのような頭の柔らかい発想が出来るようになりたいです!

No.2274 ファームを常に前へについて  投稿者:じんじん [01/6/14(木)14:45分]

はじめまして。

じんじんと申します。

現在、常に前に表示されるフォームを作成していますが
SetWindowPosを使ってConst HWND_TOPMOST = -1として
実行しているのですが、スクリーンセーバーの方が手前に
表示されてしまいます。

解決策を教えてください。
よろしくお願いします。

No.2273 フォルダーの存在確認&ファイル書き込み  投稿者:ま〜 [01/6/14(木)13:20分]

また新たに質問させていただきます。


逆引きHELPのファイル操作関連の中に
ファイルの有無を調べるというのがありますが、
フォルダーの有無も同じコードでいけるのでしょうか?
試したのですが上手く行きませんでした。

あとファイル書き込みのときに
書き込み先ドライブの容量が足りない場合のエラーは
どう処理すればよいのでしょうか?

よろしくお願いします。

No.2272 MIZOさんありがとうございました。  投稿者:ま〜 [01/6/14(木)13:12分]

Lfコードの件は無事解決いたしました!

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

No.2271 vbwファイル  投稿者:DUSTY [01/6/14(木)9:38分]

はじめまして


ちょっとお尋ねします。
VB(5.0)を起動して終了すると.vbwというVBの起動時の
ウィンドウの開き具合を保存しているファイルが作成され、
次回の起動時に使用されますが、
そのファイルの作成を中止させることはできるのでしょうか?


No.2270 ありがとうございました。  投稿者:Nakam [01/6/14(木)9:32分]

MIZOさま。

さっそく挑戦してみました。
できました。
ありがとうございました!

No.2269 RE2:DATファイルの1行読み込み  投稿者:MIZO [01/6/13(水)22:30分]

>配列の中の文字列を処理してから新しいDATファイルへ書き込むのですが、

>いつの間にやらCRLFコードで改行されています。

うーん、文面から察するにループで回してPrint#文で書き出してませんか?

>元のファイルと同じようにLFコードのみで改行したいのです。
>どのようにすればよいのでしょうか?

For i=LBound(strBuf) To UBound(strBuf)
Print #1,strDum(i) & vbLf ;
Next i

とか、一発で

Print #1, Join(strDum, vbLf) & vbLf;

で可能かと・・・。後ろにvbLfを付けているのは最後の改行の為(Joinでやると間にしか挿入されないので)
その後ろの;は最後に改行(CR+LFの方)を入れさせない為です。
時間が無く、またしても試していません。
不具合ありましたらご容赦ください。(^^ゞ

No.2268 RE:テキストファイルの結合について。  投稿者:花ちゃん [01/6/13(水)19:44分]


ChDir "c:\My Documents"
デスクトップ とか 普通のフォルダーの場合はこれでいいのですが?

Shell "command.com /c copy c:\book1.txt + c:\book2.txt C:\WINDOWS\デスクトップ\book3.txt", 1

c:\My Documents のように空白を使用したフォルダーの場合MS-DOSルールにより指定できません。
特にこの場合 Chr(34) でくくっても上手くいきませんでした。

従って
ChDir "c:\My Documents"  でフォルダーを移動しておいてから
Shell "command.com /c copy c:\book1.txt + c:\book2.txt C:book3.txt", 1

のようにすれば一応できます。
又、一度どこかに作成しておいてから VBのコマンドを使って  コピーして元のファイルを削除すれば移動できます。
後は自分で試して下さい。



No.2267 データベースソフト  投稿者:tomo [01/6/13(水)19:17分]

データベースソフトを作成したので、ディストリビューションウィザードで

セットアップファイルを作成しました。(CD-R)
(VB6 で access97のデータベース形式です)
ところが、他のパソコンへインストールして、起動すると、「プロバイダーが見つかりません。」
というメッセージが表示されます。
何かほかにファイルを添付しないといけないのでしょうか?

No.2266 RE:RE:DATファイルの1行読み込み  投稿者:ま〜 [01/6/13(水)18:27分]

MIZOさん回答ありがとうございました。

strDum = Split(LineData,vbLf)で1行ごとに区切られて
配列へ入っていたので、配列をそのまま使いました。

そこで、またひとつ解らないのですが、
配列の中の文字列を処理してから
新しいDATファイルへ書き込むのですが、
いつの間にやらCRLFコードで改行されています。
これは当たりまえなのでしょうか?

元のファイルと同じようにLFコードのみで改行したいのです。
どのようにすればよいのでしょうか?
ちなみに「CRLF」→「LF」の変換はどうすればよいのでしょうか?

よろしくお願いします。

No.2265 RE:続-Select Caseの範囲指定  投稿者:花ちゃん [01/6/13(水)17:15分]

すみません  私に早とちりでした。


Select Case intNumber
Case 1 To 5
Text2.Text = "1 から 5 の間"
Case Is < 10
Text2.Text = "6 から 9 の間"
Case Is < 15
Text2.Text = "10 から 14 の間"
Case Else
Text2.Text = "1 から 14 以外の数値"
End Select

これなら 10.6 とか 13.3 とかも 認識してくれます。
順番に比較してくれるのでOKのようです。
下の数値から Case Is < 1  Case Is < 4  の ようにしていけば希望の範囲ができると思います

No.2264 テキストファイルの結合について。  投稿者:Nakam [01/6/13(水)15:29分]

初めまして。

逆引きHELPにある、テキストファイルの結合につてい教えて下さい。
FILEA+FILEBでfilecを作成していますが、このfileCを
自分の指定した場所(たとえばデスクトップとか)に
作成する方法はあるのでしょうか??
お手数ですが、教えて下さい。
よろしくお願いいたします。

No.2263 階層化レコードセット  投稿者:香味焙煎 [01/6/13(水)14:55分]

階層化レコードセットは、一方向に連結していないと無効なのでしょうか?

このようなオブジェクトを作りたかったのですが、Openしても何も入ってきません。
●親レコードセット
/\
◎ ◎子レコードセット

○孫レコードセット
どうかご教授下さい。

Shapeコマンドの書き方がいけないのでしょうか?
(Data Environmentの「階層構造の取得」で作成)

SHAPE {SELECT * FROM Table1} AS Cmd1 APPEND
(( SHAPE {SELECT * FROM Table2} AS Cmd2
APPEND ({SELECT * FROM Table3} AS Cmd3
RELATE 'ID1' TO 'ID1') AS Cmd3) AS Cmd2
RELATE '番号1' TO '番号1') AS Cmd2,({SELECT
* FROM Table4} AS Cmd4 RELATE 'No.1'
TO 'No.1') AS Cmd4

長くて、わかりづらくてすみません。
コマンドの中に間違い等ありましたら、ご指摘願います。

No.2262 RE:RemoveItemでGridの最終行が削除できない  投稿者:DDT [01/6/13(水)9:49分]

MIZOさん回答ありがとうございました。

MIZOさんのおしゃるとおりです。
自分が固定行を1行(灰色の部分)+任意で非固定行を5行追加した時に、
非固定行を4行までは消せるのですが、最後の1行になるとエラーが出てしまう。

MIZOさんは
>「非固定行の1番」を削除しようとした時に、FixedRows=1、Rows=1となり、この制約に抵触するのでは?
と書かれていますが、これはVBの仕様ってことで回避できないという事なのでしょうか?

No.2261 RE:DATファイルの1行読み込み  投稿者:MIZO [01/6/12(火)19:12分]

>改行の部分は"0A"が入ってました。

「LF」コードしかないUNIXタイプのファイルですね。
「LF」→「CRLF」の変換をファイルに行うか以下のようなコードで読み込めます。

Open App.Path & "\ファイル名.dat" For Input As #FileNo
Line Input #FileNo, LineData
Close #FileNo

Dim strDum() As String
strDum = Split(LineData,vbLf) <--- LFコードで区切る
Text1.Text = Join(strDum,vbCrLf) <--- CRLFコードでつなげる

今書いたのでかなり横着なコードですが(^^ゞ
さっそく使わせてもらいました>Rabbitさん

No.2260 RE:RemoveItemでGridの最終行が削除できない  投稿者:MIZO [01/6/12(火)19:01分]

>「Grid1.RemoveItem Grid1.Row」

>を実行し削除を試みたのですが、
>非固定行の1番(0番は固定)になるとエラーが出てしまいます。

との事ですが「非固定行の1番」までは削除できるという事ですね?
FlexGridコントロールの仕様に「FixedRowsの値はRowsの値より1以上小さくなければなりません」 というものがあります。
FlexGridコントロールのプロパティで「行」を1、「固定行」も1、にした時に表示されるものです。
「非固定行の1番」を削除しようとした時に、FixedRows=1、Rows=1となり、この制約に抵触するのでは?

No.2259 Select Caseの範囲指定  投稿者:sicks [01/6/12(火)18:03分]

逆引きヘルプ一覧表 

→プログラム制御関係
→条件分け処理を実施 Select Caseの
“よけいなお世話”という欄に
現在私が探していたありがたい情報を見つけました。

>VBのヘルプのサンプルに書かれている 
>  Case Is > 8 And Number < 11
>の部分は間違っているようです。
>  Case Is > 8 , Is < 11 と判断されるので全部の数字が
>  該当してしまう。

これに関して、引数が整数でない時など
And演算子を使った範囲指定が出来れば
便利だと思ったのですが
使っても思うように機能していません。

具体的には、私の参照した『かんたんプログラミング VB5 基礎編』
-1997,技術評論社,川口輝久・河野勉著
P147では
「10から15まで」の範囲指定の記述方法として
@Case 10,11,12,13,14,15
ACase 10 to 15
BCase Is >=10 And 変数名など <= 15
とあります。このBで実行結果をみるとAnd以降の範囲指定は
はっきり言って無効です。

これについて何かご存知の方いらっしゃいましたら
教えて下さい。

No.2258 DATファイルの1行読み込み  投稿者:まー [01/6/12(火)16:00分]

Line Inputを使ってDATファイルデータを1行読み込もうと思っているのですが、

1行どころか全データを読み込んできてしまいます。
バイナリエディターでファイルを見たところ
改行の部分は"0A"が入ってました。

Open App.Path & "\ファイル名.dat" For Input As #FileNo
    Line Input #FileNo, LineData
Text1.Text = Text1.Text & LineData & vbCrLf
Close #FileNo

ソースはこんな感じです。

No.2257 RE:フォーム付きのDLLの作成・・・お礼  投稿者:おーちゃん [01/6/12(火)15:36分]

MIZOさま、PONさま。ありがとうございました。


まさかVBAでこんなコントロールの追加が出来るとは
思いもしませんでした。
本当、正直目からウロコが落ちました。
ちょっと自分でもVBAを侮っていました。(反省)

いや〜、さすがマイクロソフトですねー!!

助かりました!!m(__)m

No.2256 'CmDlgJP.Dll'が見つかりません  投稿者:平野 [01/6/12(火)15:21分]

Windows98で作成したVBのシステムをWindows2000にセットアップしようとしたら、
「セットアップするファイルC:\\testprg\\@CmDlgJP.Dll'が見つかりません」と
表示されセットアップが出来ませんでした。この場合どうすれば宜しいのでしょうか?
VB初心者でよくわかりません。お願いします。

No.2255 RemoveItemでGridの最終行が削除できない  投稿者:DDT [01/6/12(火)15:16分]

みなさんこんにちは。

早速の質問ですが、FxGridのセル(行)を
「Grid1.RemoveItem Grid1.Row」
を実行し削除を試みたのですが、
非固定行の1番(0番は固定)になるとエラーが出てしまいます。
どうしてなのでしょうか?
それとも他に方法があるのでしょうか?

No.2254 RE:「関連付けされたファイルを起動する」がうまくいかない    投稿者:anindo [01/6/12(火)13:48分]

ご回答ありがとうございます。

パスの問題などを含めて何度もチェックしたのですが、だめでした。

起動したいファイルを起動させるだけのサンプルプログラムを作って実行すれば
正常に起動するので、パス等の問題は無いと思います。
それをそのまま大きなプログラムに取り込むと動作しなくなります。
何が原因なのでしょう?


No.2253 再々:フォームつきのDLL  投稿者:PON [01/6/12(火)13:40分]

MIZOさま、フォローありがとうございます。

No.2252 RE:フォーム付きのDLLの作成  投稿者:MIZO [01/6/12(火)12:47分]

エクセルVBAのみで実現可能だと思います。

ツールバーの「コントロールツールボックス」から「コントロールの選択」ボタンを押すと
使用できるコントロールの一覧が表示されます。
カレンダーという事ですから「DTPickerコントロール」か「MonthViewコントロール」でしょう。
ただ、実際に使用するマシンにこのコントロールが設定(インストール)されていないと
恐らく動かないでしょうね。(VBアプリの配布時と同じだと思いますので)

No.2251 RE:「関連付けされたファイルを起動する」がうまくいかない  投稿者:MIZO [01/6/12(火)12:34分]

パスの指定は大丈夫ですか?

「\」がない、若しくはダブって入っているなど・・
開こうとしているファイルの指定を「ドライブ+パス+ファイル名」など文字列操作で指定している場合
たまに間違っている事があります。
直接パスを書いているとしたら・・・ちょっと分かりませんね。(^^ゞ

前のログ 次のログ


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