作者bb7 (MEMS)
看板Visual_Basic
标题Re: [VB6 ] 如何把text档里面的资料弄到EXCEL去??
时间Mon Sep 11 21:44:57 2006
※ 引述《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
1F:推 fumizuki:你只给 Text6.Text 这一个固定的值吧? 09/12 12:49
2F:→ bb7:那如果要让後面的值也能读入的话..要怎麽修改呢?? 09/12 13:41
3F:推 fumizuki:把资料丢到资料库或文字档中 再从资料库或文字档一次丢 09/12 22:24
4F:→ fumizuki:进excel里@@ 09/12 22:25