線上訂房服務-台灣趴趴狗聯合訂房中心
發文 回覆 瀏覽次數:2493
推到 Plurk!
推到 Facebook!

VB.Net 2005 匯出資料到 Excel 問題

缺席
lafite
一般會員


發表:4
回覆:7
積分:2
註冊:2003-08-29

發送簡訊給我
#1 引用回覆 回覆 發表時間:2010-01-27 13:57:00 IP:210.177.xxx.xxx 訂閱
各位大大好, 因最近需要用 vb.net 2005 匯出資料到 Excel 
但匯出資料後, 發現用 vb create 出來的 excel 開啟其它舊 excel 檔案時
在舊檔案內所有增益集的 function 都出現 #Value 的問題
我已經有用 vb.net create excel 時開啟所有增益集, 但發現仍然出現 #Value 的問題
煩請各位大大幫助小弟. 謝謝

例子如下
先用excel create 一個檔案
而裡而只用一個 =edate(NOW(),1) function
之後save

用下面的 vb 程式碼 create 了 excel 檔案後再開啟之前的 excel 檔案
舊檔裡的 edate 就會變成 #Value

加入參考 : Microsoft excel 11.0 object library
[code vb]
Dim MyXlsApp As Excel.Application
Dim xlBook1 As Excel.Workbook
Dim xlsheet1 As Excel.Worksheet

MyXlsApp = CreateObject("Excel.Application")
MyXlsApp.Visible = False
xlBook1 = MyXlsApp.Workbooks.Add
MyXlsApp.Workbooks.Open(MyXlsApp.LibraryPath & "\Analysis\ANALYS32.XLL", True)
MyXlsApp.Workbooks.Open(MyXlsApp.LibraryPath & "\Analysis\atpvbaen.xla", True)
MyXlsApp.Workbooks.Open(MyXlsApp.LibraryPath & "\Analysis\ATPVBATC.XLA", True)
MyXlsApp.Workbooks.Open(MyXlsApp.LibraryPath & "\Analysis\FUNCRES.XLA", True)
MyXlsApp.Workbooks.Open(MyXlsApp.LibraryPath & "\Analysis\PROCDB.XLA", True)
xlsheet1 = xlBook1.Worksheets(1)
Dim RowNo As Integer = 1
xlsheet1.Cells(RowNo, 1).Value = "Date:"
xlsheet1.Cells(RowNo, 2).Value = Now.Date
MyXlsApp.Visible = True
MyXlsApp = Nothing
GC.Collect()

[/code]

編輯記錄
lafite 重新編輯於 2010-01-27 13:58:58, 註解 無‧
lafite
一般會員


發表:4
回覆:7
積分:2
註冊:2003-08-29

發送簡訊給我
#2 引用回覆 回覆 發表時間:2010-01-27 16:05:58 IP:210.177.xxx.xxx 訂閱
我終於在微軟的技術支援那裡找到答案

在open 之後還需要用 RunAutoMacros(1)

例子
[code vb]
MyXlsApp.Workbooks.Open(MyXlsApp.LibraryPath & "\Analysis\atpvbaen.xla")
MyXlsApp.Workbooks("atpvbaen.xla").RunAutoMacros(1)
[/code]

系統時間:2024-11-21 21:03:47
聯絡我們 | Delphi K.Top討論版
本站聲明
1. 本論壇為無營利行為之開放平台,所有文章都是由網友自行張貼,如牽涉到法律糾紛一切與本站無關。
2. 假如網友發表之內容涉及侵權,而損及您的利益,請立即通知版主刪除。
3. 請勿批評中華民國元首及政府或批評各政黨,是藍是綠本站無權干涉,但這裡不是政治性論壇!