前のログ | 次のログ |
No.5300 ありがとうございました。 投稿者:shiho [02/7/18(木)14:08分]
Excel&Word関係しか見ていなくて、
MSChat関係を見ていませんでした。
これから頑張りますので、
またいきずまったときはよろしくお願いします。
No.5299 Re:ファイルのダウンロード 投稿者:アンパンマン [02/7/18(木)13:53分]
K.J.K.さん、早速のお返事ありがとうございます。
ファイルのダウンロードは初挑戦なので、
何か簡単なアドバイスを頂けたらと思います。
一番簡単なやり方は、やはりInetを使ったやり方なのでしょうか?
よろしくお願いします。
No.5298 Re: ファイルのダウンロード 投稿者:K.J.K. [02/7/18(木)13:31分]
Inetコントロール以外ならば、
A,UserControl.AsyncReadメソッドを利用する。
B,API関数のUrlDownloadToFileなどを使う。
C,wininet.dllのAPI関数を使う。
D,WinSock.ocxを使って、頑張る。
E,winsock2.dllのAPI関数を使って、もっと頑張る。
辺りになるでしょう。
No.5297 ファイルのダウンロード 投稿者:アンパンマン [02/7/18(木)13:28分]
昨日は、A221さんありがとうございました。
数値の比較の方は解決しました。
ファイルをFTPサーバーからダウンロードするのに、どの様な方法がありますか?
やはりInetを使う方法しかないのでしょうか?
No.5296 座標軸の設定方法 投稿者:夜想花 [02/7/18(木)12:53分]
あき☆さん、NAO★さん、ありがとうございましたm(__)m今、とりあえず便利計算機の
作成をしてるんですけど、やっぱり難しいですね(^^;)上手く作れたらまた報告にきますね☆
No.5295 RE:座標軸の設定方法 投稿者:NAO★ [02/7/18(木)12:20分]
あとは描画するときに、各座標に-1をかけてあげれば…
No.5294 RE:座標軸の設定方法(追加) 投稿者:あき☆彡 [02/7/18(木)12:06分]
> With Picture1
> .ScaleHeight = 100
> .ScaleWidth = 100
> .ScaleLeft = -50
> .ScaleTop = -50
> End With
試したら、これだと
-50
|
|
-50 -----|------ 50
|
|
50
となってしまいますね(;^^A)
No.5293 RE:座標軸の設定方法 投稿者:あき☆彡 [02/7/18(木)11:56分]
With Picture1
.ScaleHeight = 100
.ScaleWidth = 100
.ScaleLeft = -50
.ScaleTop = -50
End With
とすると、中心の座標が(0,0)になります。
No.5292 座標軸の設定方法 投稿者:夜想花 [02/7/18(木)11:34分]
突然なんですが、VBの超超超初心者で用語とかもよくわかってなくて、
壁にぶち当たっっちゃいました(@o@)
よかったらどなたか教えて頂きたいんですけど…
VBを使って2次関数のグラフなんかを表示させたいんですけど、座標軸を設定するには
どうしたらいいんですか?インチやピクセルだと左上が(0,0)になっちゃって
上手く表示ができないんです(ToT)
No.5291 RE:Printer出力について 投稿者:花ちゃん [02/7/18(木)11:29分]
基本的に印刷も、表示も同じなのでその範囲内に納まるように印刷開始位置や終了位置を
設定する必要があるのでは、仮に右余白10ミリとか設定できたとしても印刷する文書が
長ければ、それ以降は印刷されないし、従って ”コード記述ではどの様にしたらよいですか?”
と言われれば、こつこつと範囲内納まるように書くか!、市販のツール等を利用するか
ExcelやWordの印刷機能を利用するとかになるのでは?
No.5290 Re:数値の比較 投稿者:A221 [02/7/18(木)10:48分]
下記アドレスのアルゴリズム入門というところで比較とか検索とか並替えに
ついて細かく書いてありました。
http://hp.vector.co.jp/authors/VA000124/index.htm
単純な比較では要素の数nならn回ループをまわしますが、
ある一定以上の配列ならば並べ替えて2分検索を再起していくのが
早いです。
No.5289 RE:tabのフォーカス 投稿者:花ちゃん [02/7/18(木)9:45分]
私が作ればこんなのですが もっといい方法があるんでしょうね、きっと!
Private Sub Command1_Click()
Call sHomePosition(0)
End Sub
Private Sub sHomePosition(index As Long)
Dim myControl As Control
On Error Resume Next
For Each myControl In Me.Controls
If myControl.TabIndex = index Then
'特定のコントロールを除きたい場合
If TypeOf myControl Is PictureBox Then
index = index + 1 '次のTabIndex のコントロールを
Call sHomePosition(index)
Exit Sub
End If
myControl.SetFocus 'フォーカスを移す
'フォーカスが移らないコントロールの場合エラーが発生
If Err Then
index = index + 1
Err.Clear
Call sHomePosition(index)
Exit Sub
End If
End If
Next
End Sub
No.5288 Printer出力について 投稿者:磯路 [02/7/17(水)18:30分]
いつも拝見していますが 質問は 初めてです
よろしくお願いします。
上下 左右の余白の設定は
コード記述ではどの様にしたらよいですか?
どなたかお願い申し上げます
No.5287 RE:シートを消す時メッセージボックスを出さない 投稿者:花ちゃん [02/7/17(水)16:27分]
削除処理の前に次の一文を入れて見て下さい。
xlApp.DisplayAlerts = False
xlApp は参照したオブジェクト名です。
No.5286 シートを消す時メッセージボックスを出さない 投稿者:JYUU [02/7/17(水)16:02分]
新しいシート(Sheet1)を追加した後、既存のシートを消す時に
メッセージボックスが表示されて「OK」を押下しないといけません。
絶対消すシートの場合、メッセージボックスを出さずにシートを消したい
のですが方法があるのでしょうか?
よろしくお願いします。
<今は下記の様になってます。>
Sheets("消すシート").Select
Sheets.Add
Sheets("消すシート").Select
ActiveWindow.SelectedSheets.Delete '/*Msgboxが表示されてしまう*/
No.5285 リストビューにコンボボックスをのせたい 投稿者:匿名 [02/7/17(水)15:43分]
リストビューのフィールドの一つを、コンボボックスにしたいのですが、
どのようにすればいいのか、わかりません。
どなたかご教授お願い致します。
No.5284 RE:tabのフォーカス 投稿者:花ちゃん [02/7/17(水)13:27分]
貴方の質問の3個ほど前の書き込みに回答がでていますよ
No.5283 Re:数値の比較 投稿者:Say [02/7/17(水)11:02分]
逆に質問ですが、
If A(0)>A(1) Then
のどの部分が非効率だとお感じなのでしょうか?
No.5282 数値の比較 投稿者:アンパンマン [02/7/17(水)10:25分]
昨日はとろさんありがとうございました。
ある数値を変数に入れて、それらを比較するのですが、
何か効率の良い方法は無いでしょうか?
今の所
If A(0)>A(1) Then
・・・・
こうやっています。
何かアドバイスを頂ければと思います。
No.5281 RE:エクセルデータをCSV形式で保存 投稿者:花ちゃん [02/7/17(水)10:10分]
それなら、VBからExcelのそのデータを読み込んで、VBでCSV形式で保存して下さい。
VBとエクセル間でデータのやりとりをする や ファイル操作関係 を見て頂ければ
できるかと思います。
No.5280 エクセルデータをCSV形式で保存 投稿者:匿名 [02/7/17(水)10:01分]
初めまして。
VBを始めてまだ日の浅い超初心者です。
上手く説明出来ないかもしれませんが、誰かよきアドバイス願います。
既存のエクセルデータ(複数シートあり)から、一つのシートデータだけを
抜き出して(シート名は固定)、CSV形式で保存したいと考えています。
※一つのシートのみ、CSV形式で保存したい。
VBで、このような方法が出来るのでしょうか?
また、これをするには、どのようなプログラムを作ったらいいのでしょうか?
誰か分かる人がいたら教えて下さい。
宜しくお願いします。
では。
No.5279 tabのフォーカス 投稿者:匿名 [02/7/17(水)9:59分]
こんにちは。
画面切り替え時に、有効な(enabled=true)項目のうち、一番tabindexの若い項目にフォーカスを
あわせる、といった共通関数を作成しようとしています。
何かいい方法をご存知であれば教えてください。
おねがいします。
No.5278 エクセルデータをCSV形式で保存 投稿者:匿名 [02/7/17(水)9:47分]
初めまして。
VBを始めてまだ日の浅い超初心者です。
上手く説明出来ないかもしれませんが、誰かよきアドバイス願います。
既存のエクセルデータ(複数シートあり)から、一つのシートデータだけを
抜き出して(シート名は固定)、CSV形式で保存したいと考えています。
※一つのシートのみ、CSV形式で保存したい。
VBで、このような方法が出来るのでしょうか?
また、これをするには、どのようなプログラムを作ったらいいのでしょうか?
誰か分かる人がいたら教えて下さい。
宜しくお願いします。
では。
No.5277 RE:ReturnキーでTabキーの動作 投稿者:あき☆彡 [02/7/17(水)0:24分]
>テキストボックスがたくさんあるFormで、Returnキーを押したら次のコントロールに
>フォーカスを移動させたいのですが、何かいい方法はないでしょうか?
このコードを追加してみて下さい(^-^)/
たぶん大丈夫?(^_^;) ヾ(・・;)ォィォィ
Private Sub Form_Load()
Me.KeyPreview = True
End Sub
Private Sub Form_KeyPress(KeyAscii As Integer)
Dim sName As String
If KeyAscii = vbKeyReturn Then
If TypeOf Me.ActiveControl Is TextBox Then
sName = Me.ActiveControl.Name
Me.Controls(sName).Enabled = False
Me.Controls(sName).Enabled = True
End If
End If
End Sub
No.5276 Re:ReturnキーでTabキーの動作 投稿者:NAO★ [02/7/16(火)21:41分]
CommandButtonコントロールのDefaultプロパティをTrueにしたものをひとつ貼り付けます。
それでそのコントロールに次のような処理をさせれば可能です。
Private TabOrder As Integer
Private stTab As Integer, edTab As Integer
Private Sub Command1_Click()
Dim wk As Control
TabOrder = TabOrder + 1
If TabOrder > edTab Then
TabOrder = stTab
End If
For Each wk In Form1.Controls
If wk.TabIndex = TabOrder Then
wk.SetFocus
End If
Next
End Sub
Private Sub Form_Load()
stTab = 0 'テキストボックスのTabIndexの最小値
edTab = 3 'テキストボックスのTabIndexの最大値
End Sub
つまり、Enter キーが押されたときはこのボタンがクリックされたのと同じ
イベントが発生するので、ここでつぎのTabIndexをサーチしているというわけです。
No.5275 Re:グラフがチカチカする〜 投稿者:NAO★ [02/7/16(火)21:13分]
>わがまま申し訳ないのですがDoEvents
>以外ではないでしょうか?
ゲームなんかでよく使われる手ですが
バックバッファーで描画してそれをPicutureBoxにコピーするってのはどうでしょうか?
とりあえずクリップボード経由で描画するなら、こんな感じですか
' MSChartコントロールは見えない位置にでも隠してください。
Private Sub Timer1_Timer()
MSChart1.Refresh 'サンプルなので単なる再描画
MSChart1.EditCopy
Picture1.PaintPicture Clipboard.GetData(2), _
0, 0, MSChart1.Width, MSChart1.Height, _
, , , , vbSrcCopy
End Sub
No.5274 ReturnキーでTabキーの動作 投稿者:ma-ko [02/7/16(火)20:58分]
テキストボックスがたくさんあるFormで、Returnキーを押したら次のコントロールに
フォーカスを移動させたいのですが、何かいい方法はないでしょうか?
テキストはコントロール配列になっていません。
下記の方法ですべてのテキストに書くとソースがすごい量になってしまいます。
よろしくお願いします。
Private Sub TextABC_KeyPress(KeyAscii As Integer)
If KeyAscii = vbKeyReturn Then
TextXYZ.SetFocus
End If
End Sub
No.5273 RE:すみませんが(散布図の表示方法) 投稿者:花ちゃん [02/7/16(火)18:53分]
掲示板に書込みされる場合は、注意事項等をお読み下さいね!
ここのMSChart関係を見て下さい。
又、VBからExcelを使って表示する方法もあります。
No.5272 すみませんが・・・・ 投稿者:shiho [02/7/16(火)18:35分]
はじめて投稿させていただきます。
お聞きしたいのですが、VBの画面からCSVファイルを呼び出して、
Excelであるような散布図のグラフをVBの画面に表示したいのですが、
そのような事は可能なんでしょうか?
よろしければアドバイスだけでもよろしくお願いします。
失礼します。
No.5271 情報を下さい 投稿者:ケンシロウ [02/7/16(火)17:40分]
わがまま申し訳ないのですがDoEvents
以外ではないでしょうか?
No.5270 Re: グラフがチカチカする〜 投稿者:ラオウ [02/7/16(火)17:23分]
DoEvents を使えば大丈夫だと思いますが、
それよりも、
読み込む頻度を少なくした方が良いと思います。
No.5269 グラフがチカチカする〜 投稿者:ケンシロウ [02/7/16(火)17:06分]
TimerでMSchartに定期的にデータを読み込みグラフ表示をする処理を
しているのですが、読み込み表示されるたびにグラフがチカチカするのですが
そういう風にならない方法を教えて下さい。お願いします!!
No.5268 Re: ファイルを開く 投稿者:とろ [02/7/16(火)14:43分]
ShellExecute API を使えば開けます。
No.5267 ファイルを開く 投稿者:アンパンマン [02/7/16(火)14:25分]
こんにちは。
早速ですが、HTML形式のファイルの開き方はどうすればいいでしょうか?
インターネット上のHTMLではなくて、パソコンの中のファイルです。
No.5266 Re:フォルダーの移動について(追加) 投稿者:NAO★ [02/7/15(月)23:14分]
>エクスプローラーでファイルやフォルダーの移動をドラッグ&ドロップで
>行うとわかりますが同じドライブ同士なら移動になりますが
>違うドライブにドロップするとコピーになりますよね。
わかりやすいかなと思って書いたけど、この説明は正確でなかったかもしれません。
同じドライブ間の移動ならFATのつなぎ替えだけでできるが
違うドライブ間だと物理的に移動しないとだめなので
コピー&削除という二つの手順が必要になります。
と訂正させていただきます。
No.5265 Re:フォルダーの移動について教えてください。 投稿者:NAO★ [02/7/15(月)22:53分]
エクスプローラーでファイルやフォルダーの移動をドラッグ&ドロップで
行うとわかりますが同じドライブ同士なら移動になりますが
違うドライブにドロップするとコピーになりますよね。
つまりOSの機能として違うドライブ間の移動はサポートされていないので
一度コピーしたあと、もとのファイルまたはフォルダーを削除するという手順が必要になります。
No.5264 フォルダーの移動について教えてください。 投稿者:神内 [02/7/15(月)22:32分]
vb6で、FileSystemObject 内のMoveFolderコマンドを使ってみたのですが、うまく使えません。
Dim fso As New FileSystemObject
Private Sub Command1_Click()
fso.MoveFolder "d:\aaa", "d:\bb\bb"
End Sub
上記のプログラムならば動作するのですが、コピー先のドライブが変わると動作しません。
どのようにすればフォルダー(内部のファイルやフォルダーも含めて)移動できるのでしょうか?
また、エクスプローラーで「右クリック切り取り」「右クリック貼り付け」をよく使いますが、
これも移動のうちでしょうか?
どなたかよろしくお願いいたします。
No.5263 Re: XLSマクロで質問 投稿者:とろ [02/7/15(月)21:42分]
未入力のセルは、文字列なのか数値なのかが未定義で、
VB/VBA でいうところの Empty という
(空の文字列や数値のゼロに相当する)
特殊な値が入っているようなものです。
それなので、
Cells(cnt, 1) = ""
とはせず、
IsEmpty(Cells(cnt, 1)) = True
のようにしましょう。
No.5262 Re:マウスポインターでのimage操作 投稿者:NAO★ [02/7/15(月)21:37分]
★ 長くてすみません。
口で説明するよりコードを見てもらったほうが簡単なので、次の手順で
サンプルを実行してみてください。
1:下のコードを Form1.frm として保存してから
2:VBで「新しいプロジェクトを作成]してから、フォームをクリックし、
3:メニューから「プロジェクト(P)」→「Form1の解放」を選択してフォームを解放する。
4:メニューから「プロジェクト(P)」→「ファイルの追加」を選んで
1で保存したForm1.frmを読み込む
5:メニューから「プロジェクト(P)」→「Project1のプロパティ」を選択し、
スタートアップの設定を「Form1」に変更してOKボタンを押してください。
6:実行して右下の小さい四角をドラッグしてみてください。
-------------------
VERSION 5.00
Begin VB.Form Form1
Caption = "Form1"
ClientHeight = 3090
ClientLeft = 60
ClientTop = 450
ClientWidth = 4680
LinkTopic = "Form1"
ScaleHeight = 3090
ScaleWidth = 4680
StartUpPosition = 3 'Windows の既定値
Begin VB.Timer Timer1
Left = 720
Top = 2160
End
Begin VB.Image Image2
BorderStyle = 1 '実線
Height = 135
Left = 3240
Top = 1800
Width = 135
End
Begin VB.Image Image1
BorderStyle = 1 '実線
Height = 1455
Left = 1080
Top = 360
Width = 2175
End
End
Attribute VB_Name = "Form1"
Attribute VB_GlobalNameSpace = False
Attribute VB_Creatable = False
Attribute VB_PredeclaredId = True
Attribute VB_Exposed = False
Private DragFlag As Boolean 'ドラッグしているかどうか
Private Sub Form_MouseMove(Button As Integer, Shift As Integer, X As Single, Y As Single)
Timer1.Interval = 100 'マウスポインターを元に戻すため
End Sub
Private Sub Image2_MouseDown(Button As Integer, Shift As Integer, X As Single, Y As Single)
DragFlag = True
End Sub
Private Sub Image2_MouseMove(Button As Integer, Shift As Integer, X As Single, Y As Single)
Form1.MousePointer = vbSizeNWSE
With Image2
If DragFlag = True Then
'ハンドルの移動
.Top = .Top + Y - .Height / 2
.Left = .Left + X - .Width / 2
'描画領域のサイズ変更
Image1.Height = Image1.Height + Y - .Height / 2
Image1.Width = Image1.Width + X - .Width / 2
End If
End With
End Sub
Private Sub Image2_MouseUp(Button As Integer, Shift As Integer, X As Single, Y As Single)
DragFlag = False
End Sub
Private Sub Timer1_Timer()
If DragFlag = False Then
Form1.MousePointer = 0
Timer1.Interval = 0
End If
End Sub
No.5261 XLSマクロで質問 投稿者:XLS [02/7/15(月)20:48分]
みなさんこんばんわ。
いま取込んだエクセルファイルのA列B列が空白だったらその行をデリートするマクロを
書いているのですが、うまく行きません。
Do While blank_cnt < 100 'Cells(cnt, 2) <> "" 途中空白行あり
If Cells(cnt, 1) <> "" Then
now_id = Cells(cnt, 1)
Else
Cells(cnt, 1) = now_id
End If
'途中空白行
If Cells(cnt, 1) = "" and Cells(cnt, 2) = "" Then
Rows(cnt).Delete Shift:=xlShiftUp
blank_cnt = blank_cnt + 1
Else
blank_cnt = 0
End If
cnt = cnt + 1
Loop
としています。
確実に空白で消す場合どうすればいいでしょうか?
No.5260 Re:ループによる足し算 投稿者:NAO★ [02/7/15(月)20:23分]
別解として、
Dim num As Variant
For Each num In Arr
x = x + num
Next
というのもありでしょうか。
こちらだと2次元とか3次元になっても変更を加えなくてすみます。
No.5259 Re: Text Driverについて 投稿者:NAO★ [02/7/15(月)18:54分]
すみません
頭ぼけてました。
>rs.Open "select * from error.txt where 番号 =" & i & """", cn, , adLockReadOnly
忘れてください。
いいわけ
""ってやってるから文字列の中にダブルクォーテーション入れたいのかなと
思ったのですが、ここにダブルクォーテーションを入れる必要なかったですね。
No.5258 Re: Text Driverについて 投稿者:とろ [02/7/15(月)18:11分]
恐らく [番号] というフィールドが存在しない為に、
このようなエラーが発生しているものと思われます。
単純に考えて、テキストファイルの中身を下のようにした場合、
( * は改行コード)
---------------------------------------
番号 エラー内容 *
1 正しい日付を入力してください *
2 有効文字数を超えています*
3 データを指定してください*
---------------------------------------
[番号 エラー内容 ]
というフィールドに
'1 正しい日付を入力してください '
という値が入ってしまいます。
それなので CSV 形式にするのが一番簡単だと思います。
テキストファイルを
---------------------------------------
番号,エラー内容*
1,正しい日付を入力してください*
2,有効文字数を超えています*
3,データを指定してください*
---------------------------------------
のようにすれば、提示されたコードで正しく取得できるはずです。
No.5257 Re:ループによる足し算 投稿者:iwaiwa [02/7/15(月)18:08分]
X = 0
for i = 0 to Ubound(Array)
X = X + Array(i)
next
これでどうですか?
No.5256 マウスポインターでのimage操作 投稿者:もも [02/7/15(月)17:54分]
こんにちは。
imageの外側をマウスカーソルで引っ張り、imageの拡大、縮小を
したいのですが、VBで可能なのでしょうか。
書店でも本を探してますが、該当項目が見当たりません。
よろしくお願いします。
No.5255 ループによる足し算 投稿者:ゆずマン [02/7/15(月)16:48分]
配列の数値をループを使ってすべて足すにはどうしたらよいのでしょうか?
X =Array(0) + Array(1)
for i = 2 to 3
X = X + Array(i)
next
こんな書き方しか思いつきません・・・
もっとよい書き方があれば教えてください
お願いします。
No.5254 RE:Text Driverについて 投稿者:NAO★ [02/7/15(月)15:45分]
関係ないかも知れませんが
>rs.Open "select * from error.txt where 番号 =" & i & "", cn, , adLockReadOnly
rs.Open "select * from error.txt where 番号 =" & i & """", cn, , adLockReadOnly
では?
No.5253 Text Driverについて 投稿者:penguin [02/7/15(月)13:20分]
今、初めてTextDriverを使ってます。
テキストファイルをデータベースとして使ってみようとしているのですが、
下記のプログラムでは「パラメーターが少な過ぎます。1を指定してください」
というエラーが出てしまいます。
どうしたらエラーがでずにつなげて、内容を表示できるのかわかりません。
どなたかお願いします。
質問の仕方が悪くてすみませんm(__)m
Private Sub Command1_Click()
MsgBox era(1)
End Sub
Public Function era(i As Integer) As String
Set cn = New ADODB.Connection
cn.ConnectionString = "Provider=MSDASQL.1;Persist Security Info=False;Data Source=era"
cn.Open
Set rs = New ADODB.Recordset
rs.Open "select * from error.txt where 番号 =" & i & "", cn, , adLockReadOnly
era = rs.Fields(1)
End Function
テキストファイルの中身
番号 エラー内容
1 正しい日付を入力してください
2 有効文字数を超えています
3 データを指定してください
No.5252 RE:Help me !!(Listボックス内の特定のリストに色) 投稿者:花ちゃん [02/7/14(日)23:20分]
前回の回答に下記のように書いてありましたが?又、ここの掲示板の使用上の注意事項は読んでおいて
下さい。
>件名のボックスにこんな説明がされています。気をつけましょう。
>「簡潔に(25文字程度内)内容を表すもので記入願います。」
質問の件ですが、標準のリストボックスではできません。
どうしても使う必要があるのなら ここのリンクの Stadt Homepage さんのところの
オーナードロー形式のリストボックス を使用されたらできるようですが
No.5251 Help me !! 投稿者:タコスケ [02/7/14(日)19:51分]
Listボックス内の特定のリストに色をつけて他のリストと
差別したいと考えているのですがそんなことはできるのでしょうか??
知っているであればお教え下さい。
前のログ | 次のログ |
VBレスキュー(花ちゃん)
Visual
Basic6.0 VB6.0