sábado, 28 de agosto de 2010

Macro de VisualBasic para pasar a PDF una hoja de excel.

Con este Macro de VB pasaremos nuestra hoja de excel a PDF usando el PDF creator. Para ello, es necesario tener instalado el PDFCreator (disponible aquí) y después hace falta ir al editor del Visual Basic (Alt+F11) desde la hoja de excel, y activar la casilla PDFCreator que está en:
Menu Herramientas->Referencias

El código está sacado de esta página. (Muchas gracias, Ken Plus por tu aportación)

Se ha modificado para conseguir que compare el mes en el que se ha guardado el archivo excel con el mes escrito en la casilla k54. De este modo si es el mismo mes, el nombre del archivo será sudoku.pdf y si es el mes siguiente será sudoku2.pdf.

Para ello se ha modificado esta parte del código:

  '/// Change the output file name here! ///

sPDFName = "testPDF.pdf"
Por este otro:

    '/// Change the output file name here! ///  

Dim MesGuardado
Dim MesPlanning
MesPlanning = Range("k54").Value2
MesGuardado = Month(FileDateTime(Application.ActiveWorkbook.FullName))
If MesPlanning = MesGuardado Then sPDFName = "sudoku.pdf"
If MesPlanning = MesGuardado + 1 Then sPDFName = "sudoku2.pdf"




El macro entero es este:

Sub PrintToPDF_Early()
'Author : Ken Puls (www.excelguru.ca)
'Macro Purpose: Print to PDF file using PDFCreator
' (Download from http://sourceforge.net/projects/pdfcreator/)
' Designed for early bind, set reference to PDFCreator

Dim pdfjob As PDFCreator.clsPDFCreator
Dim sPDFName As String
Dim sPDFPath As String

'/// Change the output file name here! ///
Dim MesGuardado
Dim MesPlanning
MesPlanning = Range("k54").Value2
MesGuardado = Month(FileDateTime(Application.ActiveWorkbook.FullName))
If MesPlanning = MesGuardado Then sPDFName = "sudoku.pdf"
If MesPlanning = MesGuardado + 1 Then sPDFName = "sudoku2.pdf"

sPDFPath = ActiveWorkbook.Path & Application.PathSeparator

'Check if worksheet is empty and exit if so
If IsEmpty(ActiveSheet.UsedRange) Then Exit Sub

Set pdfjob = New PDFCreator.clsPDFCreator

With pdfjob
If .cStart("/NoProcessingAtStartup") = False Then
MsgBox "Can't initialize PDFCreator.", vbCritical + _
vbOKOnly, "PrtPDFCreator"
Exit Sub
End If
.cOption("UseAutosave") = 1
.cOption("UseAutosaveDirectory") = 1
.cOption("AutosaveDirectory") = sPDFPath
.cOption("AutosaveFilename") = sPDFName
.cOption("AutosaveFormat") = 0 ' 0 = PDF
.cClearCache
End With

'Print the document to PDF
ActiveSheet.PrintOut copies:=1, ActivePrinter:="PDFCreator"

'Wait until the print job has entered the print queue
Do Until pdfjob.cCountOfPrintjobs = 1
DoEvents
Loop
pdfjob.cPrinterStop = False

'Wait until PDF creator is finished then release the objects
Do Until pdfjob.cCountOfPrintjobs = 0
DoEvents
Loop
pdfjob.cClose
Set pdfjob = Nothing
End Sub

sábado, 20 de diciembre de 2008

Fotos de petardito 2008


He añadido fotos de Javier al blog:

Están disponibles en este enlace.

Cómo conseguir seleccionar SOLO los mensaje NO leídos en GMAIL

Nota: mi gmail está configurado con un tema que le da el aspecto de escritorio de madera (configuración >Temas). Esto no afecta al método expuesto a continuación.

Para conseguir ver los mensajes no leidos en GMAIL puedes hacerlo de dos formas:

La primera de ellas es utilizando el buscador de mensajes de Gmail. Debes escribir en la casilla blanca de arriba lo siguiente:
label:unread in:inbox
y pinchar en el botón "Buscar mensaje"


La segunda forma es crear un acceso directo para no tener que hacer esta búsqueda cada vez que queramos ver los mensajes no leídos. Para ello podemos usar una herramienta de Gmail llamada Quick Links. Dicha herramienta pertenece a un conjunto de herramientas de prueba disponibles para la versión inglesa y no la española. Por ello, cambiaremos el idioma de gmail, la activaremos y luego lo volveremos a poner en español.

  1. Pincha arriba a la derecha en "configuración"
  2. Cambia el idioma a English (US o UK, da igual)
  3. Baja al final de la página y pincha en el botón "guardar cambios"
  4. Aparecerá tu correo en inglés. Pincha en lo que antes era "configuración" que ahora es "settings"
  5. Dentro de "settings" hay varias pestañas. Selecciona "Labs" (la penúltima)
  6. Te aparecerán varias herramientas. Ve a la segunda "Quick Links" y actívala "Enable"
  7. Baja al final de la página y pincha en el botón "Save Changes"
  8. Ahora vamos a ponerlo en español:

Pincha arriba a la derecha en "SETTINGS"

Cambiar el idioma a Español

Baja al final de la página y pincha en el botón "Save Changes"

Hasta aquí hemos conseguido que en el menú de la izquierda aparezca el casillero de Enlaces rápidos. Ahora solo queda crear el enlace. Para ello buscamos los mensajes no leidos con el método previamente expuesto:

Debes escribir en la casilla blanca de arriba lo siguiente:

label:unread in:inbox

y pinchar en el botón "Buscar mensaje"


Ahora pincha la línea donde pone "Añadir enlace rápido" dentro de la casilla "enlaces rápidos". Te saldrá una ventanita preguntándote el título, es decir lo que quieres que ponga en el enlace rápido que estamos creando. Pon (por ejemplo): No leídos

Le das a Aceptar y listo.

A partir de ahora, cada vez que quieras ver los mensajes no leidos, tan solo tienes que pinchar en el enlace "No leidos" que acabamos de crear y listo.



lunes, 29 de septiembre de 2008

Filemaker cannot share files over the Web because of a port number conflict. Please configure web publising to use a different port

"FileMaker no puede compartir archivos a través de la Web porque hay un conflicto con el número del puerto. Configure la publicación en la Web para que utilice otro puerto".


Filemaker y ESET SmartSecurity. Cómo hacer que Instant Web Publishing funcione.

¿Hartos de este mensaje:?
Filemaker cannot share files over the Web because of a port number confilct. Please configure web publising to use a different port.
Luego cambias de puerto 80 a otro ......y nada.


Solución 1:
El puerto 80 está bien. No es ese el problema, sino que el tráfico que vaya por el puerto 80 es bloqueado por el antivirus que considera que dicho puerto es para páginas web y no para ser usado por programas como el filemaker.
Para solucionarlo, entrad en la configuración avanzada del ESET Smart Security, Abrid el arbol en:antivirus y antiespía -->protección del tráfico de internet -->HTTP-->Navegadores de internet y desactivar la casilla de Filemaker.

En la ultima versión del eset smart security, hay que ir a "proteccion del trafico de internet" pinchar modificar, luego abrir la rama HTTP,HTTPS, luego ir a "navegadores de internet" y agregar el exe de filemaker. Una vez agregado, pinchar en la casilla suya hasta que aparezca una cruz roja.

(Si en el arbol aparece un triángulo blanco, pinchando en él se abren sus ramas, y se vuelve negro).
Ahora debería funcionar.



Solucion 2.
Por fin lo he solucionado. Es un problema del antivirus de ESET. El puerto 80 estaba bien. Déjalo como está.

Para solucionarlo hay que entrar en la configuración avanzada del cortafuegos y en "cortafuegos personal" poner modo interactivo.

Luego en "Control de protocolos" seleccionar la segunda opción "Aplicaciones marcadas como navegadores de Internet y clientes de correo electrónico"

Luego poner en marcha el filemaker y preguntará si queremos permitir ese tráfico. Seleccionar "Recordar acción (recordar regla)" y pulsar "permitir".

Hacer lo mismo con la ventana que pregunta si queremos permitir el tráfico con "internet explorer" y con "Filemaker web publishing"

Con esto habremos creado las reglas necesarias en el cortafuegos para que puedan acceder estos programas a la base de datos filemaker a través del Instant Web Publishing.


Solución 3.

Otra solución que he encontrado por ahí cuando da error de que no puede iniciar el IWP es borrar el archivo web.prefs de la carpeta:
FileMaker Pro 9 Advanced\Extensions\Web Support

Cuando se pone en marcha el filemaker vuelve a generar el archivo.

Espero haberos podido ayudar. A mi me llevó mucho tiempo descubrir esto, y como no lo he visto en internet espero que pueda servir a otros.

Por favor, si te fue útil, deja tu comentario debajo (en inglés o en español, da igual)

sábado, 6 de septiembre de 2008

Bienvenidos

Hola a todos.

Soy Javier y acabo de crear mi primer blog. En él podreis encontrar unas fotos mías, comentarios vuestros y lo que poco a poco vayamos añadiendo entre todos.

Bienvenidos.