一组有用的操作Excel的函数[1]

[入库:2005年8月18日] [更新:2007年3月24日]

本文简介:选择自 redcoral 的 blog

在用vb做程序的时候,它本身的报表并不太好使用,因此应用excel输出数据,是一个好方法,以下是一组操纵excel的函数据,希望能帮助大家.

'excel vba控制函数

'write by weihua 2000.10.12

 


'检测文件
function checkfile(byval strfile as string) as boolean
dim filexls as object
set filexls = createobject("scripting.filesystemobject")

    if isnull(strfile) or strfile = "" then
    checkfile = false
   
    exit function
    end if


    if filexls.fileexists(strfile) = false then
      
        checkfile = false
        set filexls = nothing
        exit function
    else
       
        checkfile = true
        set filexls = nothing
    end if
   
   
end function
'检测工作表
function checksheet(byval strsheet as string, byval strworkbook as string, xlcheckapp as excel.application) as boolean
dim l as integer
dim checkworkbook as excel.workbook

if checkfile(strworkbook) and strsheet <> "" and not isnull(strsheet) then
    for l = 1 to xlcheckapp.workbooks.count
    if getpath(xlcheckapp.workbooks(l).path) & xlcheckapp.workbooks(l).name = strworkbook then
    set checkworkbook = xlcheckapp.workbooks(l)
    exit for
    end if
    next l
   
   
   
    set checkworkbook = xlcheckapp.workbooks.open(strworkbook)
    for l = 1 to checkworkbook.worksheets.count
        if checkworkbook.worksheets(l).name = trim(strsheet) then
            checksheet = true
            exit for
        end if
    next l

else
    msgbox "工作表不存在,可能是由文件名或工作表名引起的!"
    checksheet = false
end if

end function

'建立工作表
'createmethod:1追加
'createmethod:2覆盖
function createsheet(byval strsheetname as string, byval strworkbook as string, byval createmethod as integer, xlcreateapp as excel.application) as boolean
dim xlcreatesheet as excel.worksheet

   
    if checkfile(strworkbook) then
   
        xlcreateapp.workbooks.open (strworkbook)
       
       
        if createmethod = 1 then
       
        if checksheet(strsheetname, strworkbook, xlcreateapp) = false then
       
        set xlcreatesheet = xlcreateapp.worksheets.add
        xlcreatesheet.name = strsheetname
        xlcreateapp.activeworkbook.save
       
        createsheet = true
        set xlcreatesheet = nothing
        else
        'msgbox strsheetname & "工作表已存在!"
        createsheet = false
        set xlcreatesheet = nothing
        end if
       
       
        elseif createmethod = 2 then
        if checksheet(strsheetname, strworkbook, xlcreateapp) = true then
        set xlcreatesheet = xlcreateapp.worksheets(strsheetname)
        xlcreatesheet.cells.select
        xlcreatesheet.cells.delete
        xlcreateapp.activeworkbook.save
        createsheet = true
        set xlcreatesheet = nothing
        else
        'msgbox strsheetname & "工作表不存在!"
        createsheet = false

本文关键:Excel,VBA
  相关方案
Google
 

本站最佳浏览方式为 分辨率 1024x768 IE 6.0(或更高版本的 IE浏览器)

go top