VBA调用doc命令,doc窗口关闭之后,继续执行代码

来源:互联网 发布:ubuntu 安装wineqq 编辑:程序博客网 时间:2024/06/17 15:33

VBA调用doc命令,doc窗口关闭之后,继续执行代码

Option Explicit'Docワィンドワ閉じるした後、後続けの処理実施Public Declare Function WaitForSingleObject Lib "kernel32" (ByVal hHandel As Long, ByVal dwMilliseconds As Long) As LongPublic Declare Function CloseHandle Lib "kernel32" (ByVal hObject As Long) As LongPublic Declare Function OpenProcess Lib "kernel32" (ByVal dwDesiredAccess As Long, ByVal blnheritHa

注:

如果你在程序中指定了Option Explicit,那么所有的变量都必须用Dim显式声明才可以使用。


'* * * * * * * * * * * * * * * * * ** * * * * * * * * * * * ** *'*                                                 *'* Out対象ファイル作成(Tempフォルダー作成)                *'* 作成日:2016/12/22                              *'* 作成者:                               *'* 更新日:                                        *'* 更新者:                               *'*                                                 *'* * * * * * * * * * * * * * * * * * * ** * * * * * * * * ** * *

Public Sub createTempFolder()On Error GoTo errl             '■バッチ対象    Dim BAT_CREATE_TEMP_TOOL As String: BAT_CREATE_TEMP_TOOL = _                BAT_FILE_URL & "\" & BAT_CREATE_TEMP_TOOL_FILE_NAME            'bat命令    Dim cmdStr    cmdStr = """" & BAT_CREATE_TEMP_TOOL & """" & " " & """" & OUT_FILE_PATH & """"    'MsgBox cmdStr    'バッチを実行する    RetVal = Shell(cmdStr)        processId = OpenProcess(&H100000, False, RetVal)    r = WaitForSingleObject(processId, -1&)    r = CloseHandle(processId)        TEMP_FOLDER_EIXST_FLG = "1"        GoTo endokerrl:    '異常処理    ERROR_FLG = "1"         ERROR_INFO_LIST.Add ("関数:「createTempFolder」で、エラー発生しました。")    ERROR_INFO_LIST.Add ("エラー詳細:" & Err.Number & " : " & Err.Description)        endok:End Sub


变量定义

 'バッチファイルの保存場所 BAT_FILE_URL = Mid(OUT_FILE_PATH, 1, indexOfOut - 1) & "Tool" & "\bat" BAT_CREATE_TEMP_TOOL_FILE_NAME = "CreateTempTool.bat"

CreateTempTool.bat

@echo offset outDir=%1cd /d %~d0cd %outDir%mkdir Temp


http://blog.csdn.net/sxzlc/article/details/53749868

bat中的[%~dp0]使用


扩展:

%0:表示批处理本身 

%~sdp0:
这里面的
d:表示扩展到批处理文件所在的盘符;
p表示扩展到批处理文件所在的路径.


假如批处理文件在c盘的123文件下的test文件夹下:
 c:\123\test\批处理文件:

d:表示c:\;
p表示123\test\
s:表示路径中含有短名 


cd /d %~sdp0:就表示进入批处理文件所在的文件夹中
cd /d %~d0:就表示进入批处理文件的盘符

其他方式调用bat

http://blog.csdn.net/sxzlc/article/details/53750128





原创粉丝点击