こんにちはゲストさん。会員登録(無料)して質問・回答してみよう!

解決済みの質問

グラフの表示

VB6.0 ACCESS2000で開発しています。
下の様にACCESSからデータを読んでEXCELでグラフを表示して
プレビューへ表示しています。
プレビューを表示した後、印刷してEXCELを閉じる。
又は、印刷せずに閉じた場合でも画面上はEXCELは閉じているのですが
プロセスに残ってしまいます。
どこが悪いのでしょうか?
よろしくお願いします。
Private Sub Command1_Click()
Dim ExcelApp As Object 'Excel.Application
Dim Book As Object 'Excel.Workbook
Dim Sheet As Object 'Excel.Worksheet

Dim cn As ADODB.Connection
Dim rst As ADODB.Recordset

Set cn = New ADODB.Connection
cn.ConnectionString = _
"Provider=Microsoft.Jet.OLEDB.4.0;" & _
"Data Source=C:\temp\db2.mdb"
cn.Open
Set rs = New ADODB.Recordset
rs.Source = SELECT = "SELECT = "SELECT 商品名, 単価 FROM m_品名
rs.ActiveConnection = cn
rs.CursorType = adOpenStatic
rs.Open
Set ExcelApp = CreateObject("Excel.Application")
Set Book = ExcelApp.Workbooks.Add
Set Sheet = Book.Worksheets(1)
Sheet.Cells(1, 1).CopyFromRecordset rst
Dim MyChart As ChartObject

Set MyChart = Sheet.ChartObjects.Add(10, 100, 600, 330)
With MyChart.Chart
.SetSourceData Sheet.Range(Range("A1:B1"), Range("A1:B1").End(xlDown)), xlColumns
.ChartType = xlBarClustered
.Axes(xlValue).MaximumScale = 350
.Axes(xlValue).MajorUnit = 50
.HasTitle = True
.ChartTitle.Text = "案件実績合計"
.ApplyDataLabels (xlDataLabelsShowValue)
'.SeriesCollection(1).ApplyDataLabels (xlDataLabelsShowValue)
.Location Where:=xlLocationAsNewSheet
End With
ExcelApp.Visible = True
Book.ActiveSheet.PrintPreview
Book.Close
ExcelApp.Quit
Set Sheet = Nothing
Set Book = Nothing
Set ExcelApp = Nothing
Set rst = Nothing
Set cn = Nothing
End Sub

投稿日時 - 2007-06-07 14:46:44

QNo.3064345

すぐに回答ほしいです

質問者が選んだベストアンサー

「Excelが開放されない」
http://www.bcap.co.jp/hanafusa/VBHLP/ExcelErr.htm
が参考になるかも。


> SetSourceData Sheet.Range(Range("A1:B1"), Range("A1:B1").End(xlDown)), xlColumns
この記述(『Range』の指定方法)は、上記ページで述べられている
「1.一番多いのがマクロ等で記録したのをそのまま使った等で起きる~」
の状況ですね。

投稿日時 - 2007-06-07 16:16:03

お礼

ありがとうございます。
参考にしてやったらうまく出来ました。
他に悩んでいた部分も解決しました。
感謝です!

投稿日時 - 2007-06-07 17:51:32

このQ&Aは役に立ちましたか?

0人が「このQ&Aが役に立った」と投票しています

回答(1)

あなたにオススメの質問