Office中国论坛/Access中国论坛

标题: 求助,如何使ACCESS导出到EXCEL后,单元格能自动调整宽度 [打印本页]

作者: daviee    时间: 2019-3-28 16:52
标题: 求助,如何使ACCESS导出到EXCEL后,单元格能自动调整宽度
平台的导出按钮代码
Private Sub cmdExport_Click()
On Error GoTo Err_Handler
    Dim strSQL As String
    Dim strExcelName As String
    strSQL = Me.sfmSubForm.Form.RecordSource
   
    '【导出语句】
     
    If InStr(1, strSQL, "Select") = 0 Then strSQL = "select * from " & strSQL & ";"
    If Me.sfmSubForm.Form.FilterOn = True Then
        strSQL = Replace(strSQL, ";", "") '去掉;号
        strSQL = "select * from (" & strSQL & ") as qryA where " & Me.sfmSubForm.Form.Filter
    End If
   
    '【导出结果】
    strExcelName = Me.Caption & Format(Date, "_yyyymmdd")
    gf_ExportToExcelBySql strSQL, strExcelName
    Exit Sub
Err_Handler:
    gf_MsgBox "", errError:=Err
End Sub

怎么能让导出到EXCEL后,单元格自动调整宽度?

作者: daviee    时间: 2019-3-28 17:12
盟威的这个ExportToExcel 函数做得很方便
”说明
此函数实际上就是将打开Excel,复制窗体数据,粘贴到Excel,调整格式,然后保存这一系列的手工操作进行了自动化实现封装。使用复制、粘贴的方式比使用CopyFromRecordset等方式兼容性更好,且可以将Access中的格式一同复制过来。数据复制完成后会进行调整行高列宽、取消网格线显示、添加框线、冻结行首(StartRange所在的行)等格式化处理。“

不知道Office中国的这个gf_ExportToExcelBySql函数是否能做到这样。。。
作者: daviee    时间: 2019-3-29 09:42
有高手能把这个函数改一下吗?
作者: roych    时间: 2019-3-29 14:55
daviee 发表于 2019-3-29 09:42
有高手能把这个函数改一下吗?

这个函数没写出来,没人知道自定义函数的内核代码的。让大家去猜么?
至少要有这个函数的代码,才能根据这个函数来定制或者优化的。你联系下站长或者admin的那个账号吧。
作者: tmtony    时间: 2019-3-29 17:04
导出Excel的需求 有很多个性化的需求。可以自己写代码来做,可以对excel进行很完全 的控制的
可以参考这里版主们的源码
http://www.office-cn.net/thread-117269-1-1.html
http://www.office-cn.net/thread-96531-1-1.html
http://www.office-cn.net/thread-96865-1-1.html
http://www.office-cn.net/thread-75418-1-1.html
http://www.office-cn.net/thread-96119-1-1.html

作者: daviee    时间: 2019-3-30 12:00
tmtony 发表于 2019-3-29 17:04
导出Excel的需求 有很多个性化的需求。可以自己写代码来做,可以对excel进行很完全 的控制的
可以参考这里 ...

谢谢!实现的方法有多种,如果能够在这个平台的函数上优化,那就最好不过了!

希望站长或admin管理员能把这个函数代码放出来,或做升级时更新。




欢迎光临 Office中国论坛/Access中国论坛 (http://www.office-cn.net/) Powered by Discuz! X3.3