您的位置:程序门 -> 企业开发 -> sap



abap ole问题。大家帮忙啊,江湖救急!!!


[收藏此页] [打印本页]选择字色:背景色:字体:[][][]


abap ole问题。大家帮忙啊,江湖救急!!!
发表于:2007-09-14 18:38:17 楼主
    data:   l_lines   type   i.
    field-symbols   <fs>   type   any.
    data:cnt_row                       type   i,
              cnt_colum                   type   i,
              ole_selcell               type   ole2_object,
              ole_excel                   type   ole2_object,
              ole_range                   type   ole2_object,
              ole_workbooks1         type   ole2_object,
              ole_workbook1           type   ole2_object,
              ole_worksheets1       type   ole2_object,
              ole_worksheet1         type   ole2_object,
              ole_wk                         type   ole2_object.
    data:   cnt_sheets     type   i.
    data:   wk_name(50)   type   c.
    data:   wk_index         type   i.

    create   object       ole_excel     'excel.application'.    
*   excel属性を設定する
    set   property   of   ole_excel     'visible'   =   1.
*     set   property   of   ole_excel   'screenupdating'   =   0.
*     set   property   of   ole_excel   'interactive'   =   0.

*   excelファイルをオープンする
*------books
    call   method   of   ole_excel   'workbooks'   =   ole_workbooks1.
    call   method   of   ole_workbooks1   'open'   =   ole_workbook1    
        exporting
            #1   =   'c:\5.xls'.

    call   method   of   ole_workbook1   'sheets'   =   ole_worksheets1.
    get   property   of   ole_worksheets1     'count'   =   cnt_sheets.

    do   cnt_sheets   times.
        call   method   of   ole_worksheets1   'item'   =   ole_wk
            exporting
                #1   =   sy-index.
        get   property   of   ole_wk   'name'       =   wk_name.
        if   wk_name   =   '指示.
            move   sy-index   to   wk_index.
            exit.
        endif.
    enddo.


    if   wk_index   is   initial.
        call   method   of   ole_workbook1   'save'.
        call   method   of   ole_workbook1   'close'.
        set   property   of   ole_excel   'displayalerts'   =   0.
        call   method   of   ole_excel   'quit'.
        free   object   ole_worksheet1.
        free   object   ole_worksheets1.
        free   object   ole_workbook1.
        free   object   ole_workbooks1.
        free   object   ole_excel.
        message   e001(zmsg_test).
        exit.
    endif.

    call   method   of   ole_worksheets1   'item'   =   ole_worksheet1
        exporting
            #1   =   wk_index.
    call   method   of   ole_worksheet1   'activate'.    


loop   at   tbl_9200   .
        cnt_row   =   cnt_row   +   1   .
        clear:cnt_colum.
        do   16   times.
            cnt_colum   =   cnt_colum   +   1.
            assign   component   cnt_colum     of   structure   tbl_9200   to   <fs> .
            call   method   of   ole_excel   'cells'   =   ole_selcell
                exporting
                    #1   =   cnt_row
                    #2   =   cnt_colum.
            set   property   of   ole_selcell         'formular1c1'   =   <fs> .

            free   object   ole_selcell.
        enddo.
    endloop.

    call   method   of   ole_workbook1   'save'.
    call   method   of   ole_workbook1   'close'.
    set   property   of   ole_excel   'displayalerts'   =   0.
    call   method   of   ole_excel   'quit'.
    free   object   ole_worksheet1.
    free   object   ole_worksheets1.
    free   object   ole_workbook1.
    free   object   ole_workbooks1.
    free   object   ole_excel.

上面是我程序的一个片断,红色的部分如果加上的话,ole进程不能杀死,如果去掉,进程可以杀掉,但是那是程序的赋值部分,

现在我调试的时候发现,就是给cell赋值的时候出现问题,请问各位如何解决,小弟很郁闷。
发表于:2007-10-24 16:09:561楼 得分:0
顶一下,刚开始了解
发表于:2007-10-24 19:54:262楼 得分:0
我还没有写过code呢,帮你顶一下!!!!
发表于:2008-01-19 12:00:523楼 得分:0
你代码写得很乱,没心思看你写些什么,“进程可以杀死”是什么东东,术语太强了不懂
红色字体下那句不用每次循环都释放对象的,把它放到循环外吧
发表于:2008-01-19 17:47:104楼 得分:0
你把free改成refresh试试看?


快速检索

最新资讯
热门点击