教えて下さい。
VBからエクセルをレポート代わりにし
データをエクセルに出力しプレビューを立ち上げる。
という動作を組んでみたのですが getobject(,"") で
Activex のエラーが跳ね返ってきます。
NETで調べてみたのですが、 それについてのエラーの回避方法として
「サービスパック 5をあてなさい」
「レジストリの DAO350のパスが悪いのでレジストリを書き直しなさい。」
等など、色々試しては見たもののどれもクリアできずじまいです。
環境・・・・・
OS ・・・・ WIN2000 server
VB6.0
data 格納場所はアクセス2000です。
SP5 は当てました。
DAO3.6をつかってます。
DLLの修正では350ばかりの話しか見当たらないのですが・・
-----------------------------------------------------------------------
Private Declare Function ShellExecute Lib "shell32.dll" Alias "ShellExecuteA"
(ByVal hwnd As Long, ByVal lpOperation As String, ByVal lpFile As String,
ByVal lpParameters As String, ByVal lpDirectory As String, ByVal nShowCmd As Long) As Long
Private Const SW_SHOWNORMAL = 1
Private Sub cmdprev_Click()
Dim stror As String
Dim strfile As String
Dim lngpr As Long
Dim lngre As Long
Dim xlsApp As Object
Dim xlsBook As Object
Dim xlsSheet As Object
strfille = "C:\新規フォルダ\test.xls"
stror = "open"
lngre = ShellExecute(0, stror, strfille, vbNullChar, vbNullChar, SW_SHOWNORMAL)
Set xlsApp = GetObject(, "Excel.Application")
Set xlsBook = xlsApp.ActiveWorkbook
Set xlsSheet = xlsBook.Worksheets(1)
Call EXL_BlockRep(xlsBook, xlsSheet)
xlsSheet.PrintPreview
xlsBook.Saved = True
xlsBook.Application.Quit
If lngre <= 32 Then lngre = 0
Set xlsSheet = Nothing
Set xlsBook = Nothing
Set xlsApp = Nothing
End Sub
------------------------------------------------------------------------
Private Sub EXL_BlockRep(xlsBook As Object, xlsSheet As Object)
Dim db As Database
Dim rs As Recordset
Dim loc1 As Integer
Dim loc2 As Integer
Dim loc3 As Integer
Dim i As Integer
On Error Resume Next
Set db = OpenDatabase("C:\新規フォルダ\db.MDB")
Set rs = db.OpenRecordset("select * from M_test")
Const xlLineMarkers = &H41
Const xlLocationAsObject = 2
以下・・・・ エクセルに出力する内容
-------------------------------------------
どこが悪いのでしょうか? 教えて下さい。
解決しました。
変数で strfile と居るのですが、彼が ソースの中じゃ
strfille に変化してました。
すいませんでした。
ツイート | ![]() |