前のログ 次のログ

No.4250 RE:レコードセットをTextに表示させるには  投稿者:NAO★ [02/4/04(木)23:19分]

おそらく、テキストボックスコントロール等にレコードセットを

そのまま代入していませんか?
レコードセットはプロパティやメソッドを持ったオブジェクトなので、
Fieldsプロパティなどで取り出します。

Dim rs As New ADODB.Recordset
' : (検索処理)
' :
Text1.Text = rs.Fields(1)

レコードセットには複数のレコードが返ってくるので、
レコードを移動するためのカーソルなど、
あとはレコードセットのプロパティとメソッドを勉強してみてください

No.4249 RE:とろさんありがとうございました。  投稿者:優 [02/4/04(木)17:49分]

とろさん、ありがとうございました。

教えていただいたとおりにやってみましたら解決しました。
今後とはわけのわからないことをたずねるかもしれませんがよろしくお願いします。

No.4248 レコードセットをTextに表示させるには  投稿者:アンパンマン [02/4/04(木)17:37分]

件名のまんまなんだけど、

レコードセットをTextに表示させるにはどう書いたらいいでしょうか?

単純なようで出来ません。

No.4247 Text Box  投稿者:china [02/4/04(木)16:56分]

こんにちは。

テキストボックスについて教えてください。

テキストボックス内でダブルクリックをしたら、その行を色を変えて示したいのですが。
うまく言えないのですが、イメージ的には、Visual C++でコンパイルしてエラーが発生したとき、
そのエラーの部分をダブルクリックしたら、エラーのコードへカーソルが移動すると同時に、
エラー表示の部分は、その行の背景色が変わってますよね?あれがしたいんです。
テキストボックスの横幅よりも文章の長さが狭くても、行全体の背景色を変えることってできますか?

No.4246 Re: レコードセットの作り方  投稿者:とろ [02/4/04(木)16:56分]

> いろいろ試していますが、

> RecordSourceとRecordsetとはどう違うのでしょうか?
> RecordSourceもSQL文で指定して表示出来ますよね?

Data コントロールを使っているのかな?
RecordSource は検索条件で
Recordset は検索結果。

TABLE1
┌──────────┐
│FIELD1 FIELD2 FIELD3│
│ 1 A a │
│ 2 B b │
│ 3 C c │
└──────────┘
というテーブルがあった場合に
RecordSource に
"select * from TABLE1 where FIELD1 = 1"
という検索条件( SQL 文)をセットすると、
Recordset に
┌──────────┐
│FIELD1 FIELD2 FIELD3│
│ 1 A a │
└──────────┘
という検索結果がセットされる。

No.4245 レコードセットの作り方  投稿者:アンパンマン [02/4/04(木)16:46分]

いろいろ試していますが、

RecordSourceとRecordsetとはどう違うのでしょうか?
RecordSourceもSQL文で指定して表示出来ますよね?

RecordSourceの方はうまく作れますが、Recordsetの作り方?
がよくわかりません。
ご指導お願いします。

No.4244 RE:ツールバーのボタン個々のマウスオーバー 解決!  投稿者:おんせん [02/4/04(木)16:39分]

NAO★ 様


すばやい回答、ありがとうございました。
お蔭様ですんなり解決する事が出来ました。

No.4243 Windows XP におけるファイル検索  投稿者:花ちゃん [02/4/04(木)16:27分]

あれから色々調べてみてふたつほど判ったのですが

Windows XP のエクスプローラーの検索は

キャビネットファイル内も検索する。

保護されたオペレーティングシステムを表示しないにチェックが入っていると
検索しない。

その他にもまだあるようですが?、ご存知の方おられましたら教えて下さい。

No.4242 Re: レコードセット  投稿者:とろ [02/4/04(木)16:21分]

> 「検索結果」というのは、SQL文で作ってもいいのですか?

検索条件を SQL 文で作って、その条件を満たしているものが、
検索結果(レコードセット)として返ってくるっていう感じです。
条件は普通 SQL 文( select 句)で作成します。

> またその結果(レコードセット)を、Gridではなく、テキストとかに表示出来きますか?
できます。

No.4241 Re: ダウンロードしたファイルを開きたい  投稿者:とろ [02/4/04(木)15:56分]

リストボックスにアイテムを追加する

コードを載せる必要はないと思いますが...

要は、リストボックスにファイルパスの一覧があって、
その中から選んで、そのファイルを開くという処理ですよね?

リストボックスのクリックイベントで
選択されているファイルを ShellExecute API で
開くようにすれば良いのでは。

# 半角カナは使用しないようにしましょう。

No.4240 レコードセット  投稿者:アンパンマン [02/4/04(木)15:53分]

とろさん、NAOさんありがとうございました。


「検索結果」というのは、SQL文で作ってもいいのですか?
またその結果(レコードセット)を、Gridではなく、テキストとかに表示出来きますか?

No.4239 ダウンロードしたファイルを開きたい  投稿者:優 [02/4/04(木)15:48分]

はじめまして、最近VBをはじめた<優>です。

こんなプログラムを作ってみました。

****************************************

Option Explicit

Private Sub List1_OLEDragDrop(Data As DataObject, Effect As Long, Button As Integer, _
                Shift As Integer, X As Single, Y As Single)

Dim f As Variant

If Data.GetFormat(vbCFFiles) Then

For Each f In Data.Files
List1.AddItem f
Next
End If
End Sub

***************************************

上記のようなドラッグドロップでリストに挿入するプログラムを作りました。
ここから、リストにのせたファイルをクリックした開きたいのですが、どうしてもわかりません。
どなたか良い方法がありましたら教えてください。

No.4238 Re: レコードセットの意味  投稿者:とろ [02/4/04(木)15:32分]

テーブルの一部のようなもの。


ただ、テーブルと大きく違うのは、
テーブルは全レコード、全フィールドを返すのに対して、
レコードセットの場合は、返すレコードやフィールド、
更には、順番などをクエリによって、指定できることです。

このような説明でどうでしょう?

# 本当は、全く違うけど、
# 分かりやすく言えば、こんな感じ。

No.4237 RE:レコードセットの意味  投稿者:NAO★ [02/4/04(木)15:26分]

文字通りレコード(行)のセット(集合)ということで

「検索結果」そのものと思って間違いないと思います。

No.4236 レコードセットの意味  投稿者:アンパンマン [02/4/04(木)14:52分]

VBを最近始めた者ですが、

レコードセットの意味がいまいちよくわかりません。
本を見ても意味がさっぱりです。
教えるのが得意な方、お願いします。

No.4235 RE:MSCHART 積上げ棒グラフの合計ラベル表示  投稿者:花ちゃん [02/4/04(木)11:14分]

私も実際にやってみましたが、やり方が判れば、処理自体は簡単です。

又、暇な時にでも挑戦してみて下さい。
いずれ、サンプルは作り直してUPしたいとは思っていますが

No.4234 Windows XP におけるファイル検索  投稿者:花ちゃん [02/4/04(木)11:10分]

ファイル検索のソフトを作って使っていたのですが、Windows98 では *.DLL の

検索ファイル数がエクスプローラーと同じだったのですが、Windows XP では
かなり違ってきます。

    エクスプローラー   自作ソフト
ハードディスク内 6,899 5,545
Windows 2,288 2,950

あまりにも極端に違うので、基本的なところで変ったところが
あるのかなと思うのですが??


それと、どちらの検索においても同じですが、電源ON 後の1回目の検索に非常に
時間がかかるのですが、回避策ってあるのでしょうか?




No.4233 RE:RE:MSCHART 積上げ棒グラフの合計ラベル表示/折れ線・棒グラフ  投稿者:もちみ♪ [02/4/04(木)9:47分]

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

MSCHARTだとすごく面倒になってしまって、結局EXCELのVBAでやっちゃいました。
VBAだと、積上げ棒グラフと折れ線グラフを混在して折れ線グラフの線を「無し」
にしたらできたので、きっとMSCHARTでもできると思います。
が、すっごく、すっごく大変な作業ですよねー。
一応、今回のグラフに関する仕事は業務でやってるので、適当にExcelでつくっち
ゃいますが、その後手が空いたときに頑張ってやってみようと思います。
花ちゃんありがとうございましたぁ〜♪

No.4232 Re: 文字列の置き換え  投稿者:とろ [02/4/04(木)9:42分]

参考までに


'Yuuko' さんが挙げた例は Mid ステートメントです。
Mid(a$,3,2)="12"

でもって、私が挙げた例は Mid 関数です。
Mid(strA, 1, Len(strA) - 3) & "XYZ"

ややこしいので、間違えないようにしましょう。
ステートメントの方を使用した方が、簡単そうですね...

No.4231 re:文字列の置き換え    投稿者:Yuuko [02/4/04(木)9:30分]

Midを使用してはいかがでしょうか


------------------------
a$="ABCDEF"
Mid(a$,3,1)="1"
debug.print a$

AB1DEF ←結果
------------------------
a$="ABCDEF"
Mid(a$,3,2)="12"
debug.print a$

AB12EF ←結果
------------------------

No.4230 Re: 文字列の置き換え  投稿者:とろ [02/4/04(木)9:27分]

> Dim strA As String

> で、この「strA」の右から3つの文字列を置き換えたのですが、

<strA の右3文字を取り除いた文字列> & <置換文字列>
Mid(strA, 1, Len(strA) - 3) & "XYZ"
のような感じです。

# 先程は重複投稿してしまい、失礼しました。

No.4229 re:SQLのLEFT OUTER JOIN の記述法がわからない。  投稿者:Yuuko [02/4/04(木)9:26分]

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


色々と調べた結果・・・
やはり OracleではLEFT OUTER JOIN と言う記述は使用できず
(+)と言う記述を以下のようにすれば良い。・・ようです(^^;;。

-------------------------
テーブル1にデータが有れば テーブル2にデータがなくても出力したい時の例。

SQL = "SELECT *"
SQL = SQL & " FROM テーブル1 , テーブル2"
SQL = SQL & " WHERE テーブル1.フィールド1 = テーブル2.フィールド1 (+)"
SQL = SQL & " AND テーブル1.フィールド1 = 'ABC'"

No.4228 文字列の置き換え  投稿者:VB駆け出し [02/4/04(木)1:29分]

Dim strA As String

で、この「strA」の右から3つの文字列を置き換えたのですが、
どうするのか、一向にわかりません(汗
本を見ても、Web上のトピックを見ても、「右からn個の文字列の置き換え」
というモノが見つからず、苦戦しておりますw
どうか、ご指導をお願いしますm(__)m

No.4227 RE:ツールバーのボタン個々のマウスオーバー  投稿者:NAO★ [02/4/03(水)18:30分]

こんなのでどうでしょう?

Private Sub Form_MouseMove(Button As Integer, Shift As Integer, X As Single, Y As Single)
'Toolbarからマウスが離れたとき
Text1.Text = ""
End Sub

Private Sub Toolbar1_MouseMove(Button As Integer, Shift As Integer, X As Single, Y As Single)
Dim i As Integer
With Toolbar1.Buttons
For i = 1 To .Count
With .Item(i)
If .Left <= X And (.Left + .Width) >= X And _
.Top <= Y And (.Top + .Height) >= Y Then
Text1.Text = "button" & i
End If
End With
Next
End With
End Sub

No.4226 ツールバーのボタン個々のマウスオーバー  投稿者:おんせん [02/4/03(水)16:48分]

お世話になります。


VBで件名通りのことって出来るのでしょうか?
色々と調べたのですがどこにも詳しく書いてありませんでした。

マウスが乗せられたらステータスバーに説明を表示したいのです。
もちろん、ボタン以外のツールバーにカーソルが乗れば空白です。

どうぞよろしくお願いします。

VB6 SP5 Win2k

No.4225 Re: SQLのLEFT OUTER JOINの記述法がわからない。  投稿者:とろ [02/4/03(水)15:35分]

> VBでLEFT OUTER JOIN はどう記述すればよいのか教えてください。

VB ではなく、 Oracle に依存していると思いますが...

Access 97 で同じ構文を実行してみたところ、
正しく取得できました。

それなので、 Oracle を調べてみて下さい。
私の環境には Oracle がないので、分かりませんが、
アプリケーションによっては、
SQL の一部のキーワードが使用できない場合があります。

Oracle がないので、想像ですが、
Oracle で LEFT OUTER JOIN を使用できないのでは?
だから、
select T1.*, T2.*
from TABLE1 T1, TABLE2 T2
where T1.FIELD1 = T2.FIELD1
and T1.FIELD1 = 'ABC'
という風にすれば、大丈夫だと思います。

No.4224 SQLのLEFT OUTER JOIN の記述法がわからない。  投稿者:Yuuko [02/4/03(水)14:20分]

VBでLEFT OUTER JOIN はどう記述すればよいのか教えてください。

よろしくお願いします。

現在 下記のような記述をしていますが SQL文が正しくないエラーになります。
VB5,Olacle7を使用してます。

SQL = "SELECT *"
SQL = SQL & " FROM テーブル1 LEFT OUTER JOIN テーブル2"
SQL = SQL & " ON テーブル1.フィールド1 = テーブル2.フィールド1"
SQL = SQL & " WHERE テーブル1.フィールド1 = 'ABC'"

No.4223 VB6の参照設定が開けません!  投稿者:uk [02/4/03(水)2:06分]

VB6の参照設定を開こうとするとレジストリの参照エラーが発生します。

以下は、このエラーが発生するまでに行ったことです。
また、インストールは全てAdministratorで行っています。

1.VB6をWindowsNT4.0にインストール
2.その他(オフィス2000、クリレポ8、オラクルクライアントなど)のインストール
3.自作DLLをREGSVR32により登録(DLLはVB6にて作成)
4.NTドメインに参加するための設定をした後、ドメインユーザーにてログオン
5.VB6をドメインユーザーにて起動
6.VB6の参照設定を開くとレジストリの参照エラーが発生
7.Administratorにてログオン
8.VB6をAdministratorにて起動
9.やはり、VB6の参照設定を開くとレジストリの参照エラーが発生

分からないのは、原因と復旧方法です。
どなたかご存知でしたら助けて下さい。
どんな小さな情報でも結構ですので宜しくお願いいたします。

No.4222 RE:mdbのテーブル書出の方法  投稿者:NAO★ [02/4/02(火)21:41分]

>フィールドの「説明」部分


Fields オブジェクトの、PropertyコレクションおよびPropertyオブジェクトを
使うんじゃないでしょうか?
DAOなら CreateProperty というので作成できそうですが
ADOの場合はよくわかりません。

No.4221 mdbのテーブル書出の方法  投稿者:かとちゃん [02/4/02(火)17:51分]

お世話になります

mdbのテーブルでデータをテキストに書き出す際
フィールド名やデータは書き出せるのですが
そのフィールドの「説明」部分(デザインで入力した内容)を
どうしても書き出せません。 どのプロパティを参照すれば良いか
見当が付きません。

あるテーブルに100フィールド(K00〜K99)ありまして、個々のフィールドには
長々と説明文が書いてあります。 テキスト書出してデータを利用する場合に
K52とかK23になっていても内容が分かりません。

VBアドインのビジュアルデータマネージャーでは見えているみたいですが
プログラムを見てもさっぱりでした。追えませんでした。

どなたかご指導の程、よろしくお願いいたします。
以上


No.4220 VBでターミナルアダプターの操作って出来るんでしょうか?  投稿者:ゴンタ [02/4/02(火)17:36分]

初めまして。VBを始めて1ヶ月の初心者です。今、勉強中なのですが、
わからない内容が出てきたので、教えてください。

VBでターミナルアダプターの操作って出来るんでしょうか?今一ピンとこないんですが。。。
出来るのであれば、どのようなにやればいいのか教えてください。
おおまかな質問ですみません。
バージョンはVB6.0 TAはAtermlt75/Dです
よろしくお願いします

No.4219 RE:「エクセルを手動で終了する場合」に関する質問  投稿者:みゃお [02/4/02(火)16:15分]

久しぶりに見に来ました。

GetObject後のエクセルの手動終了の件で、某所で新しい情報を仕入れましたので、書いておきます。

書き込み時にEXCEL本体を表示していない場合、後で表示してからブックのみを終了させようとすると
EXCELもろとも落ちてしまいますが、

「後で表示」後
xlApp.Workbooks.Add して
xlApp.ActiveWorkbook.Close False します。
ダミーでファイルを開いてそのまま閉じるわけです。
こうすると何故か上記現象が起きないのです。お試し下さい。

No.4218 TIFファイルへの変換  投稿者:つーぴょん [02/4/02(火)12:32分]

いつも、いろいろと参考にさせていただいてます。

とても助かっております。
今度、開発でクルスタルレポートで作成したRPTファイルを
TIFファイルへ変換して、「STARFAX」というソフトを使用して
相手先へFAXを流すというプログラムを作成しています。
TIFファイルへの変換の方法がわかりません。
もし、わかりましたら教えていただけないでしょうか?
よろしくお願い致します。

No.4217 RE:MSCHART 積上げ棒グラフの合計ラベル表示  投稿者:花ちゃん [02/4/01(月)15:21分]

一応下記の条件で表示できました。



複合グラフで合計の折れ線を非表示にして、
折れ線グラフのラベルだけを表示する事で、積み上げ棒グラフの上に合計の
データラベルを表示する事ができました。

No.4216 RE:「エクセルを手動で終了する場合」に関する質問  投稿者:かる [02/4/01(月)15:05分]

すみません、自己レスします。

解決しました。

-----------------------------------
'初期設定
Set myXlApp = New Excel.Application
Set myXlBook = myXlApp.Workbooks.Add
Set myXlSheet = myXlBook.Worksheets.Add

myXlApp.WindowState = xlMaximized

'エクセルの表示
myXlApp.Visible = True
------------------------------------

となっていたところを、下記のようにすると解決しました。

------------------------------------
Set myXlApp = New Excel.Application

With myXlApp
'エクセルの表示
.Visible = True
.Workbooks.Add
.WindowState = xlMaximized

------------------------------------
「セルへの代入処理」の前に.visible=trueにしておけば大丈夫だと思っていましたが、
.Workbooks.Addの前で.visible=trueにする必要があったようです。

「VBからExcel及びWordを操作する時の注意事項 」は読んでいたのですが、若干勘違いをしていたようです
すみませんでした。


No.4215 RE:RE:MSCHART 積上げ棒グラフの合計ラベル表示/折れ線・棒グラフ  投稿者:花ちゃん [02/4/01(月)14:35分]

>折れ線グラフと棒グラフを混在できればできそうです。


系列を一つ増やして(合計値の分)それを折れ線で表示するならできます。
簡単な方法は MSChartコントロールを右クリックしてプロパティを表示し
チャートを複合(VtChChartType2dCombination)にし、系列で合計の系列を
折れ線に設定すれば一応表示できます。
この折れ線の表示設定は他の棒の表示と同じ設定のようです。
ここまでは確認しました。

折れ線を非表示にして、ラベルだけ表示出来ないかと思い方法を探しています。


No.4214 RE:MSCHART 積上げ棒グラフの合計ラベル表示/折れ線・棒グラフ    投稿者:もちみ [02/4/01(月)13:50分]

花ちゃんありがとうございました。


でも、どーーーーーーしてもやりたくてエクセルでいじってたら
折れ線グラフと棒グラフを混在できればできそうです。

折れ線グラフと棒グラフを一つのグラフに混在させる方法は
ご存知でしょうか?ご存知であれば教えていただけると幸い
です。

また、ChartType定数のVtChChartType2dCombinationを
見ると【2次元組み合わせ】とありますが、もしかして使える
品でしょうか。
でも、使い方がわからないので、わかる方教えてください。

よろしくお願いします。


No.4213 「エクセルを手動で終了する場合」に関する質問  投稿者:かる [02/4/01(月)13:16分]

初めまして、かると申します。

いつも参考にさせて頂いております。

過去のログに有る、「エクセルを手動で終了する場合」と、No2726に関連した質問が有ります。
下記のことについてアドバイスお願いできますでしょうか。

[やりたい事]
Excelを新規に立ち上げて値代入の操作を行い、表示させたままプログラムは終了する。
表示されたExcelは手動で終了させる。

[問題点]
Excelは正常に起動する。
しかし手動で終了する際、アプリケーションの順で閉じた場合は問題なく終了するが、
ブック、アプリケーションの順で閉じた場合には
「"0x300a1917"の命令が"0x01500020"のメモリを参照しました。 メモリが"read"になることはできませんでした。」
のエラーメッセージが出る。

[プログラム]
----------------------------------------
On Error GoTo Err_End
Dim myXlApp As Excel.Application
Dim myXlBook As Excel.Workbook
Dim myXlSheet As Excel.Worksheet

'初期設定
Set myXlApp = New Excel.Application
Set myXlBook = myXlApp.Workbooks.Add
Set myXlSheet = myXlBook.Worksheets.Add

myXlApp.WindowState = xlMaximized

'エクセルの表示
myXlApp.Visible = True

'データをエクセルのセルに代入
With myXlSheet
.Cells.Select
myXlApp.Selection.NumberFormatLocal = "@"
.Cells(1, 1).Select

For i = 0 To UBound(arrayData, 1)
For j = 0 To UBound(arrayData, 2)
.Cells(i + 1, j + 1).Value = arrayData(i, j)
Next j
Next i
End With


'後始末
Set myXlSheet = Nothing
Set myXlBook = Nothing
Set myXlApp = Nothing
----------------------------------------

オブジェクトを解放しているつもりですが、なにが原因でそうなるのか分かりません。
過去のログNo2726で、同様の質問をされている方が居られましたが、 回答にあたるログが無かったように思います。

なにか良くない処理があるようでしたら、アドバイスお願いします。
宜しくお願いします。

No.4212 RE:MSCHART 積上げ棒グラフの合計ラベル表示  投稿者:花ちゃん [02/4/01(月)13:11分]

あれから、私も試してみたのですが、個々のデータラベルしか表示する事ができませんでした。


    <m(__)m>




No.4211 VB6.0 MSCHART 積上げ棒グラフの合計ラベル表示    投稿者:もちみ [02/4/01(月)12:50分]

花ちゃん、ご返答ありがとうございます。

【Dim Series as Series】
という事でしたが、そうしてからどうして良いのかわかりません。

私の作ったプログラムのデータポイントラベルのところのモジュールを
以下に示しますので、大変恐縮ですが実際どのような感じに
書けばいいのか大まかで結構ですので教えてもらえるとうれしいです。

Public Sub set_PointLablel(Optional HiddenNo As Integer = 0): With frmMain.Chart1
Dim i As Integer
Dim SeriesX As Object

''全内容表示
For i = 1 To .Plot.SeriesCollection.Count
Set SeriesX = .Plot.SeriesCollection(i)

' '非表示
' If i = HiddenNo Then
' SeriesX.Position.Hidden = True
' GoTo hundle
' End If

' SeriesX.Position.Hidden = False

With SeriesX.DataPoints.Item(-1).DataPointLabel
.LocationType = VtChLabelLocationTypeCenter
.Component = VtChLabelComponentValue
.ValueFormat = "0.0"
.VtFont.VtColor.Set 0, 0, 0
.VtFont.Size = 9
.Backdrop.Frame.Style = VtFrameStyleNull

End With

hundle:
Next i

End With: End Sub

No.4210 Inetを使って文字取得  投稿者:しょうき [02/4/01(月)11:17分]

NAOさん、お返事ありがとうございました。


今度は、Inetを使って、インターネット上の文字を取得しようと思うのですが、ココまでは出来ました。

Dim strURL As String
strURL = "http://www.yahoo.co.jp"
Text1.Text = Inet1.OpenURL(strURL)

これでテキストに全てのページのテキストが表示されています。
問題はココからなのですが、「必要な部分を探し、取得する」
このやり方がわかりません。
どの様にすれば必要な部分を検索できますか?お願いします。

No.4209 RE:データベース接続  投稿者:NAO★ [02/3/31(日)13:42分]

ADO をつかった簡単な例がこちらにありましたので

参考にされるといいかも(会員登録が必要です:無料)

「忙しいあなたのためのSQL入門 第5回(最終回)」
http://itpro.nikkeibp.co.jp/members/ITPro/ITBASIC/20020125/1/

SQLの基礎も学べます

No.4208 VBからEXCELのマクロを実行(自己解決)  投稿者:HS [02/3/31(日)5:42分]

数件前の「VBからEXCELを表示に関して」(花ちゃん、松さま)を

ヒントに再チャレンジし、どうにか先が見えてきたような気がします。
思案するよりやってみよ、ということでしょう。以下にコードを示します。

Dim xlApp As Excel.Application
Dim xlBook_xl As Excel.Workbook 'データ用
Dim xlBook_csv As Excel.Workbook '展開用

Set xlApp = New Excel.Application
Set xlBook_csv = xlApp.Workbooks.Open(csvFile) 'データファイル
Set xlBook_xl = xlApp.Workbooks.Open(xlFile) '展開用ファイル

xlApp.Visible = True '可視。運用時はfalseにします
xlBook_xl.Activate 'マクロがあるところ
xlApp.Run ("macro1") 'マクロを実行  

xlApp.Quit
Set xlBook_xl = Nothing
Set xlBook_csv = Nothing
Set xlApp = Nothing

Workbookを2つ準備すること、マクロのあるシートをActiveにすることが
キーだったようです。デバッグがまだ十二分ではありませんが、この件は
一応解決したこととします。ありがとうございいました。

No.4207 RE:データベース接続  投稿者:NAO★ [02/3/31(日)2:17分]

ADO または DAO をつかって接続し、

Textボックス等、任意のコントロールで表示すればいいと思います。

ADOでの接続方法はこんな感じ

' ADOのオブジェクト変数を宣言する
Dim con As New ADODB.Connection
Dim rec As New ADODB.Recordset
Dim dbname As String

dbname = "C:\My Documents\db1.mdb"

' Jetを介してデータベースに接続
con.Open "Provider=Microsoft.Jet.OLEDB.4.0;" & _
"Data Source=" & dbname & ";"

' テーブル名を指定してレコードセットを作成する
rec.Open "Table1", con, adOpenKeyset, adLockOptimistic

レコードの操作にはSQL文を理解する必要があります
「VB ADO」で検索するといろいろ出てきます

No.4206 データベース接続  投稿者:しょうき [02/3/30(土)11:19分]

Dataを使わずにデータベース(Access)に接続し、表示させるにはどの様にしたらいいでしょうか?

わかる方よろしくお願いします。

No.4205 RE:VBからEXCELを表示に関して(追加)  投稿者:花ちゃん [02/3/29(金)23:40分]

これを一度試して下さい。


Private Sub Command1_Click()
Dim xlApp As Excel.Application
Dim xlBook As Excel.Workbook
Dim xlSheet As Excel.Worksheet
Set xlApp = New Excel.Application
Set xlBook = xlApp.Workbooks.Add
Set xlSheet = xlBook.Worksheets.Add
xlApp.Visible = True
xlSheet.Cells(1, 1).Value = "15"
xlSheet.Cells(2, 1).Value = "15"
xlSheet.Cells(3, 1).Formula = "=A1+A2"
xlSheet.SaveAs "e:\Temp.xls"
xlApp.Quit
Set xlSheet = Nothing
Set xlBook = Nothing
Set xlApp = Nothing

Dim lngSt As Long
lngSt = Timer
Do While Timer - lngSt < 2
DoEvents
Loop

Set xlApp = New Excel.Application
Set xlBook = xlApp.Workbooks.Open("e:\Temp.xls")
Set xlSheet = xlBook.Worksheets(1)
xlApp.Visible = True
Set xlSheet = Nothing
Set xlBook = Nothing
Set xlApp = Nothing
End Sub

No.4204 RE:再びVBからEXCELを表示に関しての質問です。  投稿者:花ちゃん [02/3/29(金)22:59分]

>VBの画面を閉じずにエクセルのシートを保存先から開こうとすると開けません。

>VBを閉じてからだと開く事ができ、データもちゃんと入っています。
>VBにエクセルがつながったままになっているのではないかと思い、
>いろいろとためしてみましたが、どうしてもVB起動中に保存したエクセルのシートを開く事が
>できません

この開く処理はどこでどのように書いておられますか?
ここに書かれたソースは元のソースを貼り付けたものですか?
それなら、ひょっとしてファイル名が違っているのでは
exBook.SaveAs "E:\ PC.xls"  → "E:\PC.xls"

書き直したソースや元のソースの一部だけだと私には判断できません。

No.4203 再びVBからEXCELを表示に関しての質問です。  投稿者:松 [02/3/29(金)22:10分]

Private Sub cmdJikkou_Click()


  Private exApp As excel.Application
  Private exBook As excel.Workbook
  花ちゃんさんさっそくアドバイス頂きありがとうございます。
  前回のプログラムには書きそびれましたが、最後にNOTHING
  でエクセルの解放もこころみました。
  しかしVB起動中にエクセルを表示することができず、
  VISIBLEプロパティをTRUEにして、表示を試みましたが
  保存のまえでは表示することができましたが
  保存した後にVISIBLEをTRUEにしても表示することができません。
  1度エクセルを解放して再びVBから呼び出す形にしたいのですが
  どうしてもうまくできません。
  なにか私の見過ごしているポイントがあれば何度もほんとにほんとに
  すいませんがアドバイス頂けたらと思います。
  宜しくお願い致します。
  

’ソース

Private Sub cmdJikkou_Click()

  Private exApp As excel.Application
  Private exBook As excel.Workbook
  
  Private exSheetPC As excel.Worksheet

  'EXCEL作成
  Set exApp = New excel.Application
  'BOOK作成
  Set exBook = exApp.Workbooks.Add

 exSheetPC.Cells(1, 1).Value = "担当者コード"  
 exSheetPC.Cells(1, 2).Value = "担当者"

'エクセル表示
exApp.Visible = True
  ’エクセル保存
 exBook.SaveAs "E:\ PC.xls"

 exApp.Quit

exSeetPC = Nothing
exBook = Nothing
exApp = Nothing

End Sub

No.4202 VBからEXCELのマクロを実行  投稿者:HS [02/3/29(金)20:10分]

Re:#if(win32)〜って何ですか?)

ゆう(U)さま、NAOさまありがどうございました。実は本題は、
表記の件名のことなのです。色々調べている内に先のことがあった、のです。

VBでEXCELを操作するのは初めてですが、このサイト、花ちゃんの
VBからEXCELを操作(その1)をマネしてやったのですが
うまくいかなくて思案中なのです。

やりたいこと、
「excel.xlwファイルに組み込まれたマクロを実行する。マクロの内容は
別のフォルダーにあるdata.csvファイルを読み、エクセルシートに展開する」
というものです。マクロは手動操作で正しいことを確認しています。

サンプルその1で、data.csvファイルのことはどうすればいいのか?
どう定義(記述)すればいいのか?
因みに、「xlApp.run macro名」は一見実行して(動いて)いるようです、
が、結果は「実行」していません!!!でした。
その他問題もありますが、それは別件で質問させていただきます。
質問の内容は伝わりましたでしょうか。よろしくお願いいたします。

No.4201 条件コンパイル(Re:#If (win32)〜って何ですか?)  投稿者:NAO★ [02/3/29(金)19:07分]

条件コンパイルはデバッグの時なんかに使うと便利ですよ。


たとえば一度作ったルーチンに機能を追加したいときとか
テスト用にデータを代入させたいとか
デバッグの時は値のチェックをさせたくないとか
逆にチェックをさせたいとか
複数行にわたるコメントとして使うとか(^^;
アイデア次第でいろいろできそうです。

#Const Version = 2
'-----------------------------
#If Version = 2 Then
Private Sub Command1_Click()
Debug.Print "新版:デバッグ中"
End Sub
#End If
'------------------------------
#If Version = 1 Then
Private Sub Command1_Click()
Debug.Print "旧版:とりあえず残しておきたいな〜とか"
End Sub
#End If

前のログ 次のログ


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