50分的Excel问题

green_hong 2002-12-24 11:58:45
1。如何打开一个或一系列新的Excel文件
可以用“Open CommonDialog1.filename For Output As #1”吗?
2。可以重命名Sheet1吗
3。如何写表单元
...全文
23 5 打赏 收藏 转发到动态 举报
写回复
用AI写文章
5 条回复
切换为时间正序
请发表友善的回复…
发表回复
green_hong 2002-12-25
  • 打赏
  • 举报
回复
在楼上各位的启发下,我是这样实现的:
Public xlBook As Workbook
Public xlSheet As Worksheet

Dim wFilNam As String
Dim wFilLen As Integer

CommonDialog1.Filter = "Excel Files (*.xls)|*.xls|"
CommonDialog1.filename = "转厂单"
CommonDialog1.ShowSave
wFilLen = Len(Trim(CommonDialog1.filename))
wFilNam = Left(Trim(CommonDialog1.filename), wFilLen - 4)

gstrSQL = "SELECT TCOM, TTDTE, TVEND, " _
& " TPROD,THACST,TQTY, THCURR, TREF, IWGHT " _
& "FROM V623FSE.ITHL15,V623FSE.IIML01,QGPL.VEND " _
& "WHERE TTYPE = 'U ' AND THNII = '0' AND " _
& " TTDTE >= " & CLng(XDTE1) & " AND " _
& " TTDTE <= " & CLng(XDTE2) & " AND " _
& " THCURR <> 'RMB' AND " _
& " TPROD = IPROD AND TVEND = VND " _
& "ORDER BY TCOM, TPROD"
Set temp = cn.OpenResultset(gstrSQL, rdOpenStatic)
If temp.EOF And temp.BOF Then
MsgBox "Data retrived not exist!", vbExclamation, "Warning"
txtDte1.SetFocus
Exit Sub
End If

Set xlBook = Workbooks.Add
Set xlSheet = xlBook.Worksheets("sheet1")

wNumber = 0
wCOM = Space(15)
temp.MoveFirst
Do Until temp.EOF
If Not temp!TCOM = wCOM Then
If Not wCOM = Space(15) Then
Get_xlHead
wNumber = wNumber + 1
xlBook.SaveAs wFilNam & CStr(wNumber) & ".xls"
xlSheet.Cells.Clear
End If
wCOM = temp!TCOM
wWeight = 0
wLine = 0
End If

wLine = wLine + 1
wWGHT = temp!TQTY * temp!IWGHT
Get_xlLine
wTDTE = temp!TTDTE
wWeight = wWeight + wWGHT
wVEND = temp!TVEND

ProgressBar1.Value = ProgressBar1.Value + 1
temp.MoveNext
Loop
Get_xlHead
wNumber = wNumber + 1
xlBook.SaveAs wFilNam & CStr(wNumber) & ".xls"
xlBook.Close

不错,好爽,如何给分呢?

wuqinfeng 2002-12-24
  • 打赏
  • 举报
回复
Dim ex As Object
Dim exBook As Object
Dim exSheet As Object

'建立与Excel一句柄
Set ex = CreateObject("Excel.Application")
Set exBook = ex.Workbooks().Add
Set exSheet = exBook.Worksheets("sheet1")

'设置标题
With exSheet
.Range("A1:M3").Merge
.Cells(1, 1).Value = "工作情况统计表" '.Range("A1:M3").FormulaR1C1 = "工作情况统计表"(两者一样)
.Range("A1:M3").HorizontalAlignment = 3 '居中
.Range("A1:M3").VerticalAlignment = 2 '居中
End With
XLYT 2002-12-24
  • 打赏
  • 举报
回复
既然已经引用EXCEL8.0了,就可以通过dim 变量 as excel.application来打开excel了。不不要再createobject。
green_hong 2002-12-24
  • 打赏
  • 举报
回复
运行到Set ex = CreateObject("Excel.Application")时,
出现“ActiveX部件不能创建对象”
已经引用“Microsoft Excel 8.0 Object Library”
cm8983 2002-12-24
  • 打赏
  • 举报
回复
1、调用API
Public 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


ShellExecute 0, vbNullString, "d:t.xls", "", "", vbNormalFocus
2,3楼上的可以

1,216

社区成员

发帖
与我相关
我的任务
社区描述
VB 数据库(包含打印,安装,报表)
社区管理员
  • 数据库(包含打印,安装,报表)社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧