天天看点

CL_GUI_FRONTEND_SERVICES=>FILE_OPEN_DIALOG

*数据的定义

DATA: TAB         TYPE FILETABLE,         "存放文件名的内表

      WA          TYPE LINE OF FILETABLE, "用来读取文件名的结构

FILE_FILTER TYPE STRING, "file filter

      RC          TYPE I.                 "函数返回值

*定义file filter,注意定义的格式,显示的时候最后一个为默认的显示

*与你定义的DEFAULT_EXTENSION无关

FILE_FILTER = 'All Files (*.*)|*.*|Excel Files (*.xls)|*.xls|Word files(*.doc)|*.doc'.

*这就是打开文件的函数,或者说方法也行

CALL METHOD CL_GUI_FRONTEND_SERVICES=>FILE_OPEN_DIALOG

  EXPORTING

*   对话框的标题 

    WINDOW_TITLE            = 'WINDOW_TITLE'

*   默认的文件后缀名   

    DEFAULT_EXTENSION       = '*.DOC'

*   默认打开的文件名   

    DEFAULT_FILENAME        = 'C:/TEST'

*   文件打开的filter   

    FILE_FILTER             = FILE_FILTER

*   初始化的目录   

    INITIAL_DIRECTORY       = 'C:/'

*   是否可以同时打开多个文件

    MULTISELECTION          = 'X'

  CHANGING

*   你所打开的文件名字列表 

    FILE_TABLE              = TAB

*   返回值,如果成功打开了,为1   

    RC                      = RC

  EXCEPTIONS

    FILE_OPEN_DIALOG_FAILED = 1

    CNTL_ERROR              = 2

    ERROR_NO_GUI            = 3

    NOT_SUPPORTED_BY_GUI    = 4

    others                  = 5

        .

IF SY-SUBRC = 0 AND RC = 1.

READ TABLE TAB INTO P_FILE.

ENDIF.