vba之小功能记录--根据内容,另存文件到指定文件夹

编码环境: office2003
背景环境:技术部要求添加功能,实现根据合同及项目名,自动创建文件夹及文件。
程序代码:
Dim htobj As Object
Dim modobj As Object
'''''''指定日期格式'''''''
    idate = Format(Date, "yy.MM.dd")
    cname = 合同名称
    obname = 项目名称
    name =制作人
    what =名牌
'''''''创建文件夹'''''''    
Set oFso = CreateObject("Scripting.FileSystemObject")
    oFso.CreateFolder ("D:/工作")
    oFso.CreateFolder ("D:/工作/" & obname & " " & cname & "-" & idate & " (" & name & ")")
    oFso.CreateFolder ("D:/工作/" & obname & " " & cname & "-" & idate & " (" & name & ")/" & obname & " " & cname & " 电气BOM/")
    oFso.CreateFolder ("D:/工作/" & obname & " " & cname & "-" & idate & " (" & name & ")/" & obname & " " & cname & " 机械BOM/")
If what = EXPRESS Then
Set htobj = Workbooks.Add    //新建一个excel
'''''''复制sheets表'''''''
modobj.Worksheets("表1").Copy before:=htobj.Worksheets(1)
'''''''清楚内容'''''''
modobj.Worksheets("表2").Range("a1:z500").ClearContents
yt = 10
For i = 1 To 9
    For j = 1 To 26
        modobj.Worksheets("表2").Cells(i, j) = modobj.Worksheets("表3").Cells(i, j)  //复制内容
    Next j
Next i
For i = 10 To 500
    shl = CDbl(modobj.Worksheets("表3").Cells(i, 6))
    If shl > 0 And shl <> 空值 Then
    For j = 1 To 26
        modobj.Worksheets("表2").Cells(yt, j) = modobj.Worksheets("表3").Cells(i, j)   //清除公式
    Next j
    yt = yt + 1
    End If
Next i

    ''''''文件另存''''''
        ActiveWorkbook.SaveAs Filename:="D:/工作/" & obname & " " & cname & "-" & idate & " (" & name & ")/" & obname & " " & cname & " 川奥采购订单.xls", _
        FileFormat:=xlNormal, Password:="", WriteResPassword:="", _
        ReadOnlyRecommended:=False, CreateBackup:=False
End If

来自 “ ITPUB博客 ” ,链接:http://blog.itpub.net/29987527/viewspace-1311788/,如需转载,请注明出处,否则将追究法律责任。

转载于:http://blog.itpub.net/29987527/viewspace-1311788/

公司各种系统需要各式各样的导入模板,需要快速的制作模板另存为特定的工作簿,工作簿的命名要求一定的格式:年月日时分+区分标识。 在vb中array() 函数用于创建数组,表示返回一个包含数组的 Variant。在vb中array() 函数用于创建数组,表示返回一个包含数组的 Variant。通常用Array数组函数选定指定的多个工作表: Worksheets(Array("清单信息")).Copy 复制问题解决后,使用saveas解决另存为的问题。在代码中用format函数取现在的时间,VBA 的 Format 函数与工作表函数 TEXT 用法基本相同,但功能更加强大,许多格式只能用于VBA 的 Format 函数,而不能用于工作表函数 TEXT 。 Format(Now, "yyyymmddhhmm") 把format函数嵌套进 saveas 代码中,即可实现工作簿命名自动取当前的时间,必要是可以加下后缀,避免工作簿名称重复。format函数取到分钟即可。不过在一分钟内不要再点另存为,否则工作簿名称重复。另存为后活动工作簿为新的工作簿。想返回原来工作簿的童鞋们可以用Activate返回指定的工作表。这样做代码,即高效又避免工作簿名称杂乱无章。 公司各种系统需要各式各样的导入模板,需要快速的制作模板另存为特定的工作簿,工作簿的命名要求一定的格式:年月日时分+区分标识。 在vb中array() 函数用于创建数组,表示返回一个包含数组的 Variant。在vb中array() 函数用于创建数组,表示返回一个包含数组的 Variant。通常用Array数组函数选定指定的多个工作表: Worksheets(Array("清单信息")).Copy 复制问题解决后,使用saveas解决另存为的问题。在代码中用format函数取现在的时间,VBA 的 Format 函数与工作表函数 TEXT 用法基本相同,但功能更加强大,许多格式只能用于VBA 的 Format 函数,而不能用于工作表函数 TEXT 。 Format(Now, "yyyymmddhhmm") 把format函数嵌套进 saveas 代码中,即可实现工作簿命名自动取当前的时间,必要是可以加下后缀,避免工作簿名称重复。format函数取到分钟即可。不过在一分钟内不要再点另存为,否则工作簿名称重复。另存为后活动工作簿为新的工作簿。想返回原来工作簿的童鞋们可以用Activate返回指定的工作表。这样做代码,即高效又避免工作簿名称杂乱无章。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值