设为首页收藏本站

嘻皮客娱乐学习网

 找回密码
 中文注册
搜索
打印 上一主题 下一主题
开启左侧

[OFFICE] 向多工作薄中复制内容(加框填充底色筛选隐藏列)

[复制链接]
楼主
发表于 2016-12-7 19:33:36 | 显示全部楼层
东西很好,很实用,要是什么时候楼主能做一个excel多薄多表批量打印就太好了。
回复 支持 反对

使用道具 举报

沙发
发表于 2016-12-8 10:07:52 | 显示全部楼层
因为不懂代码,所以我从网上搜集了1个多薄批打的宏表,只是听说它的实现办法是Excel本身的另存PDF。就是不能按指定的sheet名称打印,不知楼主能不能研究1个按指定的sheet名称实现多薄批打。http://url.cn/42G3sNd

  1. Sub 批量将Excel文件转成PDF()
  2. Dim str As String, n As Long, fd, Nam As String
  3. On Error GoTo err  '程序出错时则退出
  4. Set fd = Application.FileDialog(msoFileDialogFolderPicker)
  5. With fd  '显示一个选择文件夹的对话框,如果选择了文件夹则取其名称,否则退出
  6.     If .Show = -1 Then t = .SelectedItems(1) Else Exit Sub
  7. End With
  8. Application.ScreenUpdating = False  '并闭屏幕更新,提升速度
  9. str = Dir(t & "\*.xl*")  '开始查找文件,格式为所有Excel文件
  10. While Len(str) > 0
  11.     n = n + 1  '累加变量,该变量代表文件数量
  12.     Workbooks.Open (t & IIf(Right(t, 1) = "", "", "") & str)  '打开工作簿
  13.     Nam = CreateObject("Scripting.FileSystemObject").getextensionname(str)  '获取文件的扩展名
  14.     '开始进行格式转换,两个参数分别表示文件名、转换质量。还有转换后是否打开PDF档的参数省略了,表示不查找。
  15.     ActiveWorkbook.ExportAsFixedFormat Type:=xlTypePDF, Filename:=(t & IIf(Right(t, 1) = "", "", "") & Replace(str, Nam, "pdf")), Quality:=xlQualityStandard
  16.     Workbooks(str).Close False  '关闭工作簿
  17.     str = Dir()  '查找下一个
  18. Wend
  19.     Application.ScreenUpdating = True  '恢复屏幕更新
  20. err:
  21. End Sub
复制代码
回复 支持 反对

使用道具 举报

板凳
发表于 2016-12-8 10:31:14 | 显示全部楼层
这个方法到是可以用,感谢楼主的帮助解答。
回复 支持 反对

使用道具 举报

小黑屋|手机版|嘻皮客网 ( 京ICP备10218169号|京公网安备11010802013797  

GMT+8, 2024-5-22 12:50 , Processed in 0.182783 second(s), 24 queries , Gzip On.

Powered by Discuz! X3.3

© 2001-2017 Comsenz Inc.

快速回复 返回顶部 返回列表