Titolo: Eseguire VB Script in 4D
Categoria: Info |
|
Ultimo Aggiornamento: 20/10/12 |
Utilizzando il metodo di Keisuke Miyako per l'esecuzione di un VB script, vediamo un esempio di conversione di un file utilizzando MS Word.
Ecco il testo di uno script che apre un file e lo salva in formato solo testo:
Set objWord = CreateObject("Word.Application")
Set objDoc = objWord.Documents.Open("C:\codici.doc")
Const wdFormatText = 2
objDoc.SaveAs "C:\codici.txt", wdFormatText
objWord.Quit
Ecco il metodo (lievemente modificato) di Keisuke Miyako:
C_TEXT($1;$0)
C_BLOB($2)
C_LONGINT($platform_l)
PLATFORM PROPERTIES($platform_l)
If ($platform_l=Windows)
$script_folder_path_t:=Get 4D folder(Current Resources folder)+"vbs\\"
$script_file_path_t:=$script_folder_path_t+Replace string($1;"/";"\\";*)
If (Test path name($script_file_path_t)=Is a document)
SET ENVIRONMENT VARIABLE("_4D_OPTION_HIDE_CONSOLE";"true")
C_BLOB($standard_input_x;$standard_output_x;$standard_error_x)
If (Count parameters=2)
$standard_input_x:=$2
//patch to counter data loss caused by CRLF's in input stream
SET BLOB SIZE($standard_input_x;BLOB size($standard_input_x)+8166;0)
End if LAUNCH EXTERNAL PROCESS("cscript //Nologo //U \""+$script_file_path_t+"\"";$standard_input_x;$standard_output_x;$standard_error_x)
$standard_output_t:=Convert to text($standard_output_x;"UTF-16LE")
If (BLOB size($standard_error_x)#0) & (BLOB size($standard_output_x)=0)
$0:=Convert to text($standard_error_x;"UTF-16LE")
Else $0:=$standard_output_t
End if End if End if
Inviato da: PierPaolo Sichera |
|
Visite: 12781 |
Se accedi con utente e password, puoi aggiungere dei commenti.