设为首页收藏本站Access中国

Office中国论坛/Access中国论坛

 找回密码
 注册

QQ登录

只需一步,快速开始

返回列表 发新帖
查看: 1636|回复: 6
打印 上一主题 下一主题

[基础应用] 如何打印一个文挡里所有文件的特定worksheet

[复制链接]
跳转到指定楼层
1#
发表于 2005-12-2 18:51:00 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
我的一个文挡里有40多个excel文件,每个文件架构都一样,有同样的worksheet,如果我想用vb编一个打印文挡里所有excel中worksheet(3)请问该如何编辑?

[此贴子已经被作者于2005-12-2 11:01:48编辑过]

分享到:  QQ好友和群QQ好友和群 QQ空间QQ空间 腾讯微博腾讯微博 腾讯朋友腾讯朋友
收藏收藏 分享分享 分享淘帖 订阅订阅
2#
 楼主| 发表于 2005-12-2 21:45:00 | 只看该作者
CIGAML 2005-01.xls  CIGAML 2004-01.xls

CIGAML 2005-02.xls   CIGAML 2004-01.xls

CIGAML 2005-03.xls    CIGAML 2004-01.xls

我文件夹下面的目录大约是这样


Dim I As Integer

for I = 1 to 12

    Workbooks.Open Filename:= _
        "\\Elina_tsui\my documents\CIGAML\CIGAML 2005-("I").xls"
        
  
    Sheets("Income Rec'd-note 6").Select
    ActiveWindow.SelectedSheets.PrintOut Copies:=1, Collate:=True
   
   Next I
End Sub

不知道为何老说出错,请大大门给个指教啊我的思路是打印2005- (月份设置成变量I)


[此贴子已经被作者于2005-12-2 13:45:56编辑过]

3#
发表于 2005-12-2 22:04:00 | 只看该作者
文件名上有问题。文本与变量之间要用&来连接。

你改成类似下面的格式试试

\\Elina_tsui\my documents\CIGAML\CIGAML 2005-(" & I & ").xls
4#
 楼主| 发表于 2005-12-2 22:17:00 | 只看该作者
我的思路只能打印2005年的,还有2003年2002年的,我是想把整个文件夹的某个sheet打出.有没有

*.*.sheet()这样的语句
5#
 楼主| 发表于 2005-12-2 22:26:00 | 只看该作者
Dim I As Integer

For I = 1 To 12


    Workbooks.Open Filename:= _
        "D:\工作\now\2005\CIGAML\CIGAML 2005-" & I & ".xls"
        
  
    Sheets("Income Rec'd-note 6").Select
    ActiveWindow.SelectedSheets.PrintOut Copies:=1, Collate:=True
    ActiveWindow.Close
   
   Next

End Sub

按照您的方法可以找到 2005-10,2005-11,2005-12,但是例如2005-01到2005-09找不到,还有2004的也找不到

还有讨厌的是每次运行到    ActiveWindow.Close的时候老提醒我保存,可否不让它提示

[此贴子已经被作者于2005-12-2 14:30:21编辑过]

6#
 楼主| 发表于 2005-12-2 23:14:00 | 只看该作者


大大门帮我看看这条错误在那里啊

Sub zs()


With Application.FileSearch    '查找
        .LookIn = "D:\工作\now\2005\CIGAML "         '范围为此目录下"
        .Filename = "*.xls"
        .Execute msoSortByFileName '执行查找过程,并且将查询结果按文件名排序
        For Each s In .FoundFiles
            Application.EnableEvents = False
            If s <> twb.FullName And s <> "D:\工作\now\2005\CIGAML " & "\BOOK*.xls" Then    '指定目录下不打印的文件
                Set wb = Workbooks.Open(s, , True)
                wb.Sheets("Income Rec'd-note 6").Select
                ActiveWindow.SelectedSheets.PrintOut Copies:=1, Collate:=True
                ActiveWindow.Close
            End If
        Next
End With
               

End Sub
7#
 楼主| 发表于 2005-12-2 23:58:00 | 只看该作者
成功完成.呵呵



Sub eeeeee()

Set twb = ThisWorkbook
Dim s
With Application.FileSearch    '查找
        .LookIn = "D:\工作\now\test "         '范围为此目录下"
        .Filename = "*.xls"
        .Execute msoSortByFileName '执行查找过程,并且将查询结果按文件名排序
        For Each s In .FoundFiles
            Application.EnableEvents = False
          If s <> twb.FullName And s <> "D:\工作\now\test\kill.xls" Then
                Set wb = Workbooks.Open(s, , True)
                wb.Sheets("Income Rec'd-note 6").Select
                ActiveWindow.SelectedSheets.PrintOut Copies:=1, Collate:=True
                ActiveWindow.Close SaveChanges:=False
        End If
         
           
        Next
End With
               

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

本版积分规则

QQ|站长邮箱|小黑屋|手机版|Office中国/Access中国 ( 粤ICP备10043721号-1 )  

GMT+8, 2024-5-28 23:22 , Processed in 0.108650 second(s), 31 queries .

Powered by Discuz! X3.3

© 2001-2017 Comsenz Inc.

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