Ms-Dos - Convertir a pdf arrastrando el archivo al icono bat.

 
Vista:
sin imagen de perfil
Val: 33
Ha aumentado 1 puesto en Ms-Dos (en relación al último mes)
Gráfica de Ms-Dos

Convertir a pdf arrastrando el archivo al icono bat.

Publicado por Salvador (18 intervenciones) el 29/01/2017 14:02:24
Hola:

Soy nuevo en MsDos y en el foro.

He encontrado el código de abjo que convierte un documento doc en pdf.

La cuestión es que la ruta es fija:
myfile = "E:\Nueva Carpeta\prueba.docx" '
Y quisiera saber si hay forma de que al arrastrar el archivo al icono del bat funcione, en vez de modificar la ruta, lo cual no es operativo.

Saludos.



1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
Option Explicit
 
'Doc2PDF permite convertir documentos creados en Microsoft Word en archivos PDF.
'Es necesario renombrar previamente el archivo a: documento.doc.
 
Doc2PDF "documento.doc"
 
Sub Doc2PDF( myFile )
 
	Dim objDoc, objFile, objFSO, objWord, strFile, strPDF
 
	Const wdFormatDocument                    =  0
	Const wdFormatDocument97                  =  0
	Const wdFormatDocumentDefault             = 16
	Const wdFormatDOSText                     =  4
	Const wdFormatDOSTextLineBreaks           =  5
	Const wdFormatEncodedText                 =  7
	Const wdFormatFilteredHTML                = 10
	Const wdFormatFlatXML                     = 19
	Const wdFormatFlatXMLMacroEnabled         = 20
	Const wdFormatFlatXMLTemplate             = 21
	Const wdFormatFlatXMLTemplateMacroEnabled = 22
	Const wdFormatHTML                        =  8
	Const wdFormatPDF                         = 17
	Const wdFormatRTF                         =  6
	Const wdFormatTemplate                    =  1
	Const wdFormatTemplate97                  =  1
	Const wdFormatText                        =  2
	Const wdFormatTextLineBreaks              =  3
	Const wdFormatUnicodeText                 =  7
	Const wdFormatWebArchive                  =  9
	Const wdFormatXML                         = 11
	Const wdFormatXMLDocument                 = 12
	Const wdFormatXMLDocumentMacroEnabled     = 13
	Const wdFormatXMLTemplate                 = 14
	Const wdFormatXMLTemplateMacroEnabled     = 15
	Const wdFormatXPS                         = 18
 
	' Create a File System object
	Set objFSO = CreateObject( "Scripting.FileSystemObject" )
 
	' Create a Word object
	Set objWord = CreateObject( "Word.Application" )
 
 
myfile = "E:\Nueva Carpeta\prueba.docx" '<<<<<<<<<<<<<<<<<<<<<<<<<<<<<
 
 
	With objWord
		' True: make Word visible; False: invisible
		.Visible = True
 
		' Check if the Word document exists
		If objFSO.FileExists( myFile ) Then
			Set objFile = objFSO.GetFile( myFile )
			strFile = objFile.Path
 
		Else
			WScript.Echo "ERROR: El archivo no existe" & vbCrLf
			' Close Word
			.Quit
			Exit Sub
		End If
 
		' Build the fully qualified HTML file name
		strPDF = objFSO.BuildPath( objFile.ParentFolder, _
		         objFSO.GetBaseName( objFile ) & ".pdf" )
 
		' Open the Word document
		.Documents.Open strFile
 
		' Make the opened file the active document
		Set objDoc = .ActiveDocument
 
		' Save as HTML
		objDoc.SaveAs strPDF, wdFormatPDF
 
		' Close the active document
		objDoc.Close
 
		' Close Word
		.Quit
	End With
End Sub
Valora esta pregunta
Me gusta: Está pregunta es útil y esta claraNo me gusta: Está pregunta no esta clara o no es útil
0
Responder
Imágen de perfil de Antoni Masana
Val: 1.419
Oro
Ha mantenido su posición en Ms-Dos (en relación al último mes)
Gráfica de Ms-Dos

Convertir a pdf arrastrando el archivo al icono bat.

Publicado por Antoni Masana (811 intervenciones) el 29/01/2017 18:16:17
Hola Salvador

Este código no es un BAT es Visual Basic Script más conocido VBScript . Es un lenguaje Visual Basic interpretado.

En GOOGLE Hay información de como pasar los parámetros, es decir llamar al script con un nombre de fichero.

Mira por ejemplo esto:

http://ss64.com/vb/arguments.html

Para arrastrar el fichero a un acceso directo a un BAT y que lo cojo como Parametro:

1
2
3
@echo off
set MyFile=%1
Doc2Pdf %MyFile%

Para que lo pida desde el Bat:

1
2
3
@echo off
set /p MyFile=Nombre del fichero...
Doc2Pdf %MyFile%

De momento esto es todo.

Saludos
\\//_
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

Convertir a pdf arrastrando el archivo al icono bat.

Publicado por Salvador1 (1 intervención) el 29/01/2017 18:49:37
Gracias Antoni.

Me he servido con la primera forma y me ha funcionado con un poco de casualidad, porque no sabía si tenía que crear un BAT aparte y hacer la llamada al código que he puesto, o ponerlo en el mismo código (he hecho ésto último).

Como me muevo un poco en VBA de Excel a base de leer en los foros, me deduzco que la 3ª línea es como una llamada (Call) al procedimiento Doc2Pdf.


Un saludo.
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar