周一,29 2021三月
  0 回复
  2.9K访问
0
投票
解开
您好,我正在使用您的代码通过电子邮件在 excel 中发送一个范围。 如果我取消范围,我会收到运行时错误。 是否可以添加一些代码或 msgbox 来防止这种情况,并自动调整附件上的列。 部分代码如下
谢谢/media/kunena/emoticons/smile.png

将 xFile 调暗为字符串
将 xFormat 变暗
将 Wb 调暗为工作簿
将 Wb2 调暗为工作簿
将 Ws 调暗为工作表
将文件路径变暗为字符串
昏暗的FileName作为字符串
将 OutlookApp 调暗为对象
将 OutlookMail 调暗为对象
将 WorkRng 调暗为范围
xTitleId = "示例"
Set WorkRng = 应用程序.选择
设置 WorkRng = Application.InputBox("Range", xTitleId, WorkRng.Address, Type:=8)

应用程序.ScreenUpdating = False
应用程序.DisplayAlerts = False
设置 Wb = Application.ActiveWorkbook
Wb.工作表.添加
设置 Ws = Application.ActiveSheet
WorkRng.Copy Ws.Cells(1, 1) 复制代码
Ws.复制
设置 Wb2 = Application.ActiveWorkbook
选择案例 Wb.FileFormat
案例 xlOpenXMLWorkbook:
    xFile = ".xlsx"
    xFormat = xlOpenXMLWorkbook
案例 xlOpenXMLWorkbookMacroEnabled:
    如果 Wb2.HasVBProject 然后
        xFile = ".xlsm"
        xFormat = xlOpenXMLWorkbookMacroEnabled
    其他
        xFile = ".xlsx"
        xFormat = xlOpenXMLWorkbook
    结束如果
案例Excel8:
    xFile = ".xls"
    x格式 = Excel8
案例 xlExcel12:
    xFile = ".xlsb"
    x格式 = xlExcel12
最终选择
目前还没有回复。