投稿日 | : 2004/10/13(Wed) 16:31 |
投稿者 | : もじもじ(初心者) |
Eメール | : |
URL | : |
タイトル | : mschart.editcopyでエラー |
VB6.0 SP6 , winXP Home SP1
mschartで描画したグラフをeditcopyメソッドでクリップボードに
コピーするアプリケーションを作りました。データ件数が少ない
ときには問題ないのですが、データ件数が増えるとeditcopyメソ
ッドの部分で下記エラーが出ることがあります。
********エラーの内容********
実行時エラー'-2147417848 (80010108)':
'EditCopy'メソッドは失敗しました: '_DMSChart' オブジェクト
********エラーの内容********
この時、他アプリケーションからクリップボードが使えない状態に
なります。私のプログラムがクリップボードを占有したままになっ
ているようです。私のプログラムを終了するとクリップボードが使
えるようになります。
このエラーを回避できるようなアイデアを教えていただけませんで
しょうか。よろしくお願いいたします。
現象を再現できる最小コードです。新規フォームにmschartと
commandButtonを貼り付けます。実行できたらcommand1ボタンを連続
してクリックします。
Option Explicit
'Private Declare Function OpenClipboard Lib "user32" _
'(ByVal hwnd As Long) As Long
'
'Private Declare Function EmptyClipboard Lib "user32" _
'() As Long
'
'Private Declare Function CloseClipboard Lib "user32" _
'() As Long
Private Sub Form_Load()
MSChart1.chartType = VtChChartType2dLine
With MSChart1.DataGrid
.RowLabelCount = 2
.ColumnLabelCount = 2
.RowCount = 1000
.ColumnCount = 14
.SetSize .RowLabelCount, .ColumnLabelCount, _
.RowCount, .ColumnCount
.RandomDataFill
End With
End Sub
Private Sub Command1_Click()
' Dim rtn As Longs
' rtn = OpenClipboard(0)
' rtn = EmptyClipboard
' rtn = CloseClipboard
With MSChart1
.EditCopy
End With
End Sub