Re: [VB6 ] 如何把text檔裡面的資料弄到EXCEL去??

看板Visual_Basic作者 (MEMS)時間19年前 (2006/09/11 21:41), 編輯推噓2(202)
留言4則, 2人參與, 最新討論串3/6 (看更多)
※ 引述《fumizuki (矇面加菲獅)》之銘言: : ※ 引述《bb7 (MEMS)》之銘言: : : 又來麻煩各位大大了... : : 我現在能把訊號(溫度值)正確的傳送到text裡面 : : 35.95 35.11 37.5 38.2 : : 36.05 34.69 37.82 38.62 : : 因為是作陣列式的..目前是作4顆 : : 那如果要把上面兩排數值弄到EXCEL去並且作出溫度分布情形的話 : : 請問要如何做呢??對於要傳道EXCEL裡面去世毫無概念... : : 還麻煩各位大大們為我解答一下...謝謝 : 開excel : 工具功能表-巨集-錄製新巨集-確定 : (開始記錄你的操作) : 檔案-開新檔案 : 輸入幾筆數值(溫度值) : 插入功能表-圖表-選擇你要的圖表樣式-數值範圍-特殊設定 : 工具功能表-巨集-停止錄製 : 工具功能表-巨集-Visual Basic編輯器 : 模組-Module1 : 把程式碼複製到 VB6 裡 : 在 VB6 裡,專案功能表-設定引用項目-選擇 Microsoft Excel 10.0 Object Library : 確定 : 範例(VB6的寫法跟 Excel 錄製下來的內容會有些差異): : Public Sub ExportToExcel() : '建立Excel : Dim excl As New Excel.Application : Dim wb As Excel.Workbook, ws As Excel.Worksheet, ap As Excel.Application : Set wb = excl.Workbooks.Add : If wb.Worksheets.Count = 0 Then : Set ws = wb.Worksheets.Add : Else : Set ws = wb.Worksheets(1) : End If : Set ap = ws.Application : '將資料(溫度值)置入儲存格中(自己視需求修改此段程式碼@_@) : ap.ActiveCell.FormulaR1C1 = "33" : ap.Range("B1").Select : ap.ActiveCell.FormulaR1C1 = "44" : ap.Range("B2").Select : '加入圖表(自己視需求修改此段程式碼@_@) : Dim ct As Chart : ws.Application.Charts.Add : Set ct = ws.Application.ActiveChart : ct.ChartType = xlLine : ct.SetSourceData ws.Application.Sheets("Sheet1").Range("A1:D1"), xlRows : ct.Location xlLocationAsObject, "Sheet1" : With ws.Application.ActiveChart : .HasTitle = False : .Axes(xlCategory, xlPrimary).HasTitle = False : .Axes(xlValue, xlPrimary).HasTitle = False : End With : ws.Application.Range("A1").Select : '儲存檔案(檔案已存在會覆蓋檔案),並結束Excel : ap.DisplayAlerts = False : ws.SaveAs "c:\temp\xd.xls" : wb.Close : excl.Quit : End Sub 我的程式碼: Private myexcel As Object Private myworkbook As Object Private myworksheet As Object Private myrange As Object Private mychart As Object Dim i As Integer Dim k% Set myexcel = CreateObject("excel.application") myexcel.Visible = True Set myworkbook = myexcel.Workbooks.Add Set myworksheet = myworkbook.Worksheets("sheet1") Set myrange = myworksheet.Range("B2") Set myrange = myworksheet.Range("C2") Set myrange = myworksheet.Range("D2") Set myrange = myworksheet.Range("E2") k = 0 k = myrange.Rows.Count + 1 Set myrange = myexcel.ActiveCell For i = 1 To 4 myrange.Cells(k, 1 + i).FormulaR1C1 = Val(Text6.Text) Next i myrange.Cells(1, 2).FormulaR1C1 = "No.1" myrange.Cells(1, 3).FormulaR1C1 = "No.2" myrange.Cells(1, 4).FormulaR1C1 = "No.3" myrange.Cells(1, 5).FormulaR1C1 = "No.4" k = myrange.Rows.Count + 1 myrange(k, 1).Select 可是這樣為什麼只能讀到第一個的值(35.95) ?? 程式碼哪裡出錯了呢??還請大大為我解答一下..謝謝 -- ※ 發信站: 批踢踢實業坊(ptt.cc) ◆ From: 210.64.169.47

09/12 12:49, , 1F
你只給 Text6.Text 這一個固定的值吧?
09/12 12:49, 1F

09/12 13:41, , 2F
那如果要讓後面的值也能讀入的話..要怎麼修改呢??
09/12 13:41, 2F

09/12 22:24, , 3F
把資料丟到資料庫或文字檔中 再從資料庫或文字檔一次丟
09/12 22:24, 3F

09/12 22:25, , 4F
進excel裡@@
09/12 22:25, 4F
文章代碼(AID): #151MU6tA (Visual_Basic)
討論串 (同標題文章)
文章代碼(AID): #151MU6tA (Visual_Basic)