zhanghdong 发表于 2014-9-19 12:24:51

[已解决]换了office2013,代码好象不支持了,哪位大大帮忙看看

本帖最后由 zhanghdong 于 2014-9-23 11:52 编辑

http://www.autoitx.com/forum.php?mod=viewthread&tid=19227&highlight=Excel%2B%BA%CF%B2%A2
以上的2010看某位大大发布的源码,一直在用,环境是excel2007,换了office 2013以后程序就用不了了。哪位大大帮忙看看,哪里需要改改。。

先谢谢了。

貌似以下这段代码有问题
        $oExcel = ObjCreate("Excel.Application")
        $oExcel.DisplayAlerts = False
        $oExcel.ScreenUpdating = False

        $oresult_Book = $oExcel.Workbooks.Open($result_file_name) ;打开 xls 结果文件
        ;过渡 sheet 的作用是使得复制到结果文件中的各个 sheets 排列在原有的 sheets 的后面
        $oresult_Book.sheets($oresult_Book.sheets.count).activate ;选中最后一个 sheet
        $oresult_Book.sheets.add.activate ;增加一个过渡 sheet,倒数第二个 sheet
        $oresult_Book.activesheet.name = "tempsheet"
        $oresult_Book.sheets($oresult_Book.sheets.count).activate ;再次选中最后一个 sheet
        $oresult_Book.activesheet.move($oresult_Book.sheets($oresult_Book.sheets.count - 1)) ;把最后的 sheet 往前移动一位,这样就把过渡 sheet 移到最后

        For $i = 0 To _GUICtrlListBox_GetCount($List1) - 1
                $source_file_name = _GUICtrlListBox_GetText($List1, $i) ;从 List 控件中读取 xls 源文件名
                If $source_file_name == $result_file_name Then ContinueLoop
                $osource_Book = $oExcel.Workbooks.Open($source_file_name) ;打开 xls 源文件
                $osource_Book.sheets.move($oresult_Book.sheets($oresult_Book.Sheets.Count)) ;复制各个 sheets
        Next

        $oresult_Book.sheets("tempsheet").delete ;删除过渡 sheet
        If $new_book = 1 Then $oresult_Book.sheets("sheet1").delete ;删除新建 xls 结果文件时自动建立的 sheet

        $oresult_Book.sheets(1).activate ;激活第一个 sheet,这样保存后再次打开时,默认是第一个 sheet 是激活的

        $oExcel.save
        $oExcel.Quit
        $oExcel = ""

        MsgBox(64, "提示", "合并完成")

zhanghdong 发表于 2014-9-19 12:26:04

自顶一下。。肯求高手帮忙看看。。。

kk_lee69 发表于 2014-9-19 13:24:38

回复 2# zhanghdong

OFFICE 2013 的安全性處理了嗎??

以前的 OFFICE 打開就是直接打開

新版的OFFICE 打開後 內定會先鎖住然後再問你是不是要編輯才可以開始動編輯

這個部分處理了嗎??

zhanghdong 发表于 2014-9-19 16:38:50

回复 3# kk_lee69


    大神这个怎么处理,我想试一下。。

austere 发表于 2014-9-19 17:56:49

换wps吧~~         {:face (288):}

xms77 发表于 2014-9-19 22:13:06

回复 5# austere
Au3如何操作wps???请指教,谢谢!

zhanghdong 发表于 2014-9-20 09:19:38

哪位帮忙改改这段代码,能够使其支持excel2013

austere 发表于 2014-9-20 12:18:47

回复 6# xms77


    和操作office 2003一样,不过要用最新的wps版本

zhanghdong 发表于 2014-9-21 14:15:11

再顶。。。

kk_lee69 发表于 2014-9-22 15:08:01

回复 4# zhanghdong

zhanghdong 发表于 2014-9-23 08:02:02

回复 10# kk_lee69


    按照此操作以后,还是不行。估计不是这方面的原因。

    还有其它方面的原因嘛??

kk_lee69 发表于 2014-9-23 11:21:30

回复 11# zhanghdong
錯誤訊息是

zhanghdong 发表于 2014-9-23 11:49:08

回复 12# kk_lee69


    没有一点错误信息。。。

    我找到原因了。。看下楼。。

zhanghdong 发表于 2014-9-23 11:51:46

$oExcel.Save改成$oExcel.ActiveWorkbook.Save貌似excel 好象改命令了。。
问题就这么简单。。终于解决了。。

zhanghdong 发表于 2014-9-23 11:55:48

终于可以快乐的用2013了。。谢谢了各位。。特别感谢kk_lee69
页: [1] 2
查看完整版本: [已解决]换了office2013,代码好象不支持了,哪位大大帮忙看看