Foros del Web » Programación para mayores de 30 ;) » Programación General » Visual Basic clásico »

Novato en VB:error de sintaxis en el msgbox

Estas en el tema de Novato en VB:error de sintaxis en el msgbox en el foro de Visual Basic clásico en Foros del Web. hola, vengo del foro de ofimatica, colgué este post allí hace algunos días pero estoy viendo que al final me equivoqué de foro,, creo que ...
  #1 (permalink)  
Antiguo 18/01/2007, 11:22
Avatar de epa2  
Fecha de Ingreso: abril-2002
Ubicación: Málaga
Mensajes: 1.475
Antigüedad: 22 años
Puntos: 9
Novato en VB:error de sintaxis en el msgbox

hola, vengo del foro de ofimatica, colgué este post allí hace algunos días pero estoy viendo que al final me equivoqué de foro,, creo que este sería más correcto...

la idea era una macro que al abrir un doc de word me preguntara con msgbox y metiera los datos en el documento, luego comprobar los datos con otro msgbox y si estoy de acuerdo, imprimo dos copias y cierro el doc de word sin guardar los cambios, pero en esto de visual basic estoy torpe,,, aquí les pongo lo que tengo echo.... estuve consultando en la MDSN de microsoft,, les pongo lo que he podido hacer hasta el momento...

Private Sub Document_Open()
nombre = InputBox("¿Como te llamas?")
FormFields("nombre").Result = nombre

apellidos = InputBox("¿me dices tus apellidos?")
FormFields("apellidos").Result = apellidos

Rem comprobamos los datos introducidos y mandamos imprimir
MsgBox ("Los datos son los siguientes:&nombre&apellidos ",vbOKCancel,"¿Imprimimos o no Pepe?",43) = vbOk then

Rem mandamos imprimir dos copias
Application.PrintOut FileName:="", Range:=wdPrintAllDocument, Item:= _
wdPrintDocumentContent, Copies:=2, Pages:="", PageType:=wdPrintAllPages, _
ManualDuplexPrint:=False, Collate:=True, Background:=True, PrintToFile:= _
False, PrintZoomColumn:=0, PrintZoomRow:=0, PrintZoomPaperWidth:=0, _
PrintZoomPaperHeight:=0

Rem dejamos los campos de texto limpios
ActiveDocument.FormFields("nombre").Result = ""
ActiveDocument.FormFields("apellidos").Result = ""

'Cerramos el documento sin guardar ningún tipo de cambios
'pero con esta instrucción siempre me lo pregunta. ¿como sería correctamente?
ActiveWindow.Close

' si no pues volveríamos al principio
Else
'¿como se hace para volver al principio sin tener que repetir
'todas las lineas del principio
End If
End Sub

pues este el código, me da error en el msgbox, dice que la sintaxis no es correta y luego tambien que hay un end sin cerrar, pero yo lo tengo cerrado, pues nada, ya me dicen ustedes, voy a ver si me tomo una infusión para despejarme la cabeza.

un saludete.
__________________

***Aprendiz de todo y maestro de nada***
  #2 (permalink)  
Antiguo 20/01/2007, 07:40
Avatar de GaboMaKano  
Fecha de Ingreso: noviembre-2002
Ubicación: Viña del Mar - Chile
Mensajes: 323
Antigüedad: 21 años, 6 meses
Puntos: 2
Re: Novato en VB:error de sintaxis en el msgbox

MsgBox ("Los datos son los siguientes:&nombre&apellidos ",vbOKCancel,"¿Imprimimos o no Pepe?",43) = vbOk then
??????

Eso supuestamente es un IF, esta mal construido, y si quieres recibir el valor del usuario al pulsar Ok o Cancel
has esto

valret = MsgBox("nbababa", vbOKCancel, "titulo")
If valret = vbOK Then
MsgBox "ok"
End If
If valret = vbCancel Then
MsgBox "cancel"
End If
y el end lo marca porque tienes un end if y no tienes un if

Exito
__________________
Exito!!
:censura:
Visita Uganet.cl
  #3 (permalink)  
Antiguo 20/01/2007, 15:48
Avatar de epa2  
Fecha de Ingreso: abril-2002
Ubicación: Málaga
Mensajes: 1.475
Antigüedad: 22 años
Puntos: 9
Re: Novato en VB:error de sintaxis en el msgbox

muchas gracias gabomakano por la ayuda,,, es como tu dices, había construido la expresión mal.

muchas gracias por responder

un saludo
__________________

***Aprendiz de todo y maestro de nada***
  #4 (permalink)  
Antiguo 20/01/2007, 19:07
Avatar de vbx3m  
Fecha de Ingreso: febrero-2005
Ubicación: Venezuela
Mensajes: 524
Antigüedad: 19 años, 3 meses
Puntos: 1
Re: Novato en VB:error de sintaxis en el msgbox

Otra forma de hacerlo es
Código:
 IF (MsgBox ("Los datos son los siguientes: " & nombre  & " " & apellidos,vbOKCancel,"¿Imprimimos o no Pepe?",43) = vbOk) then
....
Else
....
End if
__________________
ホルヘ・ラファエル・マルティネス・レオン
Atención: Estás leyendo un tema que no tiene actividad desde hace más de 6 MESES, te recomendamos abrir un Nuevo tema en lugar de responder al actual.
Respuesta




La zona horaria es GMT -6. Ahora son las 13:16.