Excel精英培训网

 找回密码
 注册
数据透视表40+个常用小技巧,让你一次学会!
查看: 1169|回复: 7

批量打印选中单元格里的超链接文件

[复制链接]
发表于 2022-5-1 14:31 | 显示全部楼层 |阅读模式
1学分
本帖最后由 liuzhixiang 于 2022-5-1 20:57 编辑


批量打印选中的超链接文件.zip

23.67 KB, 下载次数: 1

 楼主| 发表于 2022-5-1 14:33 | 显示全部楼层

批量打印选中单元格

求助表格见附件

批量打印选中的超链接文件.zip

23.67 KB, 下载次数: 8

回复

使用道具 举报

发表于 2022-5-2 08:12 | 显示全部楼层
本帖最后由 hasyh2008 于 2022-5-2 08:46 编辑

试试!!!!!!!!

批量打印选中的超链接文件(20220502).rar

29.04 KB, 下载次数: 3

回复

使用道具 举报

发表于 2022-5-2 08:27 | 显示全部楼层
本帖最后由 hasyh2008 于 2022-5-2 08:45 编辑

Sub dayin()
  On Error Resume Next
  Dim WB As Workbook
  Dim SH As Worksheet
  Dim Str$
  Dim Rng As Range
  For Each Rng In Selection
    Str = ThisWorkbook.Path & "/检查表/sh型/" & Rng.Text & ".xls"
    Set WB = Workbooks.Open(Str)
    For Each SH In Worksheets
      If Application.WorksheetFunction.CountA(SH.Cells) > 0 Then
        SH.PrintOut copies:=1
      End If
    Next SH
    ActiveWorkbook.Saved = True
    ActiveWorkbook.Close
  Next Rng
  Set WB = Nothing
  Set SH = Nothing
  Set Rng = Nothing
End Sub
回复

使用道具 举报

 楼主| 发表于 2022-5-2 13:28 | 显示全部楼层
hasyh2008 发表于 2022-5-2 08:27
Sub dayin()
  On Error Resume Next
  Dim WB As Workbook

此代码可以打印超链接是表格的,当超链接里的文件是PDF格式时候,就无法打印了
回复

使用道具 举报

 楼主| 发表于 2022-5-2 13:54 | 显示全部楼层
本帖最后由 liuzhixiang 于 2022-5-2 14:13 编辑
hasyh2008 发表于 2022-5-2 08:27
Sub dayin()
  On Error Resume Next
  Dim WB As Workbook

我的描述有误差,导致只能打印表格 重新上附件,我要打印的是超链接里PDF格式的,打印份数可以自定义,谢谢

批量打印选中的超链接文件.zip

157.18 KB, 下载次数: 5

回复

使用道具 举报

发表于 2022-5-2 19:20 | 显示全部楼层
再试试!!!

批量打印选中的超链接文件(20220502).rar

151.34 KB, 下载次数: 3

回复

使用道具 举报

 楼主| 发表于 2022-5-2 21:00 | 显示全部楼层

还是不对,1:你的代码把列里面的全打印了 (要求选中哪个单元格或框选多个单元格里的都打印) 2:单元格里是不带有.pdf字段 的, 谢谢
下面是我原来的代码,不知道哪里有问题 没有反应了
Private 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

Sub test()
Dim Rng As Range
If LCase(TypeName(Selection)) = "range" Then
    For Each Rng In Selection.Cells
        If Rng.EntireRow.Hidden = False And Rng.Hyperlinks.Count > 0 Then
            If Dir(Rng.Hyperlinks(1).Address) <> "" Then ShellExecute 0, "print", Rng.Hyperlinks(1).Address, vbNullString, vbNullString, vbNormalFocus
        End If
    Next Rng
End If
End Sub


回复

使用道具 举报

您需要登录后才可以回帖 登录 | 注册

本版积分规则

小黑屋|手机版|Archiver|Excel精英培训 ( 豫ICP备11015029号 )

GMT+8, 2024-5-10 13:47 , Processed in 0.294892 second(s), 10 queries , Gzip On, Yac On.

Powered by Discuz! X3.4

Copyright © 2001-2020, Tencent Cloud.

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