25/06/2026

Formato para no mostrar el valor "0" en las celdas de Excel

En Excel, para no mostrar 0 en las celdas vacías se puede usar el formato de celda personalizado:

0;-0;;@

Se accede desde la pestaña Inicio, seleccionar Formato de celdas. Selecciona Número > Personalizada > cuadro Tipo

04/03/2026

Poner un rectángulo negro en todos los PDF de un directorio con cpdf

Usaremos cpdf para poner un rectángulo negro en una posición fija en todos los pdfs de un directorio. Para ello creamos un fichero .BAT con el siguiente contenido:

for %%F in (*.pdf) do (

.\cpdf "%%F" -draw -rect "50 620 500 50" -fill -squeeze -o .\outputdir\"%%F"

)

02/03/2026

La Comunidad Valenciana queda primera en las pruebas SpainSkills 2026 de formación profesional

¡Orgullo de ser de la Comunidad Valenciana!

En las SpainSkills de 2026 la Comunidad Valencia ha quedado primera, con un total de 11 medallas, 7 de oro y 4 de plata, de entre un total de 31 posibles.

SpainSkills es una competición de estudiantes de formación profesional que se convoca bienalmente, y cuenta con representantes de todas las comunidades y ciudades autónomas previamente seleccionados en las correspondientes convocatorias regionales. Una especie de olimpiadas divididas por pruebas de ciclos formativos: cloud computing, soldadura, carpintería, instalaciones eléctricas,....

Los ganadores de Spainskills pasan a formar parte de la Selección Española de formación profesional, que se enfrentará a las de otros países en la próxima edición de las WorldSkill que se celebrará en Shanghai. y en las EuroSkills de Düsseldorf.

Los nombre de los alumnos ganadores están aquí

¡Felicidades a todos los alumnos y suerte en las próximas Skills!

06/06/2025

Convertir archivos de Excel .xls a .xlsx con PowerShell

PS C:\> Install-Module -Name ImportExcel

PS C:\> $ErrorActionPreference = “SilentlyContinue”

PS C:\> Get-ChildItem "C:\Users\xxxxx\Documents" -filter *.xls -Recurse | select * |

  Foreach-Object {

    Write-Host "Nombre: $($_.FullName)" 

    ConvertTo-ExcelXlsx -path $($_.FullName)

}

16/10/2024

Reducir el tamaño de PDFs escaneados desde la línea de comandos

Lo hago con GhostScript

gs -sDEVICE=pdfwrite -dCompatibilityLevel=1.4 -dPDFSETTINGS=/ebook -dNOPAUSE -dBATCH -dColorImageResolution=150 -sOutputFile=salida.pdf entrada.pdf 

En windows he tenido que usar gswin64c.exe

22/08/2024

Juegos locales compartidos en steam: carpeta compartida entre los usuarios de un grupo

En linux quiero tener una carpeta (/opt/games/) a la que accedan con control total todos los usuarios del grupo games. Quiero que todos los usuarios de ese grupo puedan leer y escribir en esa carpeta para que las instalaciones de juegos de steam u otros juegos sean compartidas por todos ellos y así ahorrar espacio en disco.

Por defecto los archivos se crean con el grupo principal del usuario, y necesito que se creen con el grupo games.  Esto lo conseguiré usando el bit setgid (Set Group ID). Cuando el setgid se establece en un directorio, el conjunto de archivos que se creen dentro tendrá el mismo grupo que el del directorio principal, en lugar del grupo del usuario creador del archivo.

1. Creo la carpeta

$ sudo mkdir /opt/games

2. La asigno al grupo games

$ sudo chown :games /opt/games

3. Que los usuarios de grupo games tengan permiso de escritura

$ sudo chmod 775 /opt/games

4. Establezco el bit setgid

$ sudo chmod g+s /opt/games

Luego faltaría crear la carpeta /opt/games/steam y configurar steam para que todos los juegos se instalen en ese directorio compartido con los otros usuarios del sistema.

23/11/2023

Cambiar saltos de línea por comas usando Notepad++

A veces tengo un texto con direcciones de correo, con una dirección en cada línea. Y esas direcciones de correo las tengo que introducir en una aplicación que me pide que las direcciones de correo estén separadas por una coma.

Para hacer esa transformación podemos usar Notepad++

    1. Menú: Buscar / Reemplazar (o CTRL+H).
    2. Buscar: [\r\n]+
    3. Reemplazar con: ,
    4. Modo de búsqueda: Expresión regular
    5. Pulsar el botón "Reemplazar todo"


    31/05/2023

    Sincronizar los contactos de Outlook con Android

    1. Configuración del teléfono > Aplicaciones > Outlook > Contactos = habilitado.
    2. Abrir Outlook > Configuración > cuenta de correo > Sincronizar contactos = habilitado

    02/11/2021

    Combinar correspondencia en word con datos agrupados desde excel

    A veces tenemos que hacer un "combinar correspondencia" en Word, de tipo maestro-detalle. Por ejemplo, enviarle una carta a cada cliente con los códigos y precios de las facturas del mes.

    Fantásticamente explicado en youtube.

    Utiliza las siguientes funciones:

    17/06/2020

    Combinar correspondencia y generar PDFs individuales en Microsoft Word

    En http://www.gmayor.com/individual_merge_letters.htm hay un complemento para combinar correspondencia y generar documentos individuales en Microsoft Word.
    1. Descargar el complemento y descomprimirlo.
    2. Para Word > 2003, copiar la plantilla con macros "MMtoDocs Ver x.x.dotm" en  %appdata%\Microsoft\Word\STARTUP.
    En el menú de combinar correspondencia nos aparecerá un botón llamado "Split and Merge" que llama a esta macro, con todas las opciones necesarias.

    Por cierto, en LibreOffice se puede hacer directamente sin ningún complemento.

    25/05/2020

    Eliminar runtimes flatpak que no se usan para liberar espacio de disco

    Flatpak logo
    Flatpak automáticamente no elimina los runtimes después de que la última aplicación que las usaba fuese desinstalada. Y eso malgasta espacio en disco.
    Podemos ver las aplicaciones y runtimes flatpak que tenemos instaladas con:
    $ flatpak list
    También podemos ver únicamente las aplicaciones flatpak
    $ flatpak list --app
    Para desinstalar los runtimes que ya no se usen:
    $ sudo flatpak uninstall --unused

    02/04/2020

    Compartir la impresora con los ordenadores de la red local en linux

    En Linux con cups, para compartir la impresora con los otros ordenadores de la red local hay que entrar en http://localhost:631/, menú Administración --> Servidor --> Configuración del servidor, y activar la opción "Compartir impresoras conectadas a este sistema".

    13/01/2020

    Problemas con las Media Foundation al instalar Gris en Steam bajo Linux

    Para instalar el videojuego Gris en Steam bajo Linux, tenemos que pasar este parche para solucionar un problema que tiene wine con las Media Foundation
    $ export WINEPREFIX="/opt/games/steam/steamapps/compatdata/683320/pfx"
    $ export PROTON="/opt/games/steam/steamapps/common/Proton 4.11"
    $ ./mf-install-master/mf-install.sh -proton
    Lógicamente hay que cambiar lo que esté en negrita con la ubicación real de nuestra biblioteca de aplicaciones Steam (solución encontrada en ProtonDB).

    07/08/2019

    Información sobre los módulos de memoria instalados

    Necesitaba saber cuántos módulos de memoria tenía instalados un portátil, pero no quería echar mano del destornillador para descubrirlo.
    En Linux existe un comando que te da esa información:
    $ sudo dmidecode -t memory
    # dmidecode 3.1
    Getting SMBIOS data from sysfs.
    SMBIOS 2.4 present.

    Handle 0x0013, DMI type 16, 15 bytes
    Physical Memory Array
        Location: System Board Or Motherboard
        Use: System Memory
        Error Correction Type: None
        Maximum Capacity: 3 GB
        Error Information Handle: Not Provided
        Number Of Devices: 2

    Handle 0x0014, DMI type 17, 27 bytes
    Memory Device
        Array Handle: 0x0013
        Error Information Handle: No Error
        Total Width: 32 bits
        Data Width: 32 bits
        Size: 1024 MB
        Form Factor: SODIMM
        Set: 1
        Locator: M1
        Bank Locator: Bank 0
        Type: DDR2
        Type Detail: Synchronous
        Speed: Unknown
        Manufacturer: Not Specified
        Serial Number: Not Specified
        Asset Tag: Not Specified
        Part Number: Not Specified

    Handle 0x0015, DMI type 17, 27 bytes
    Memory Device
        Array Handle: 0x0013
        Error Information Handle: No Error
        Total Width: 32 bits
        Data Width: 32 bits
        Size: 1024 MB
        Form Factor: SODIMM
        Set: 1
        Locator: M2
        Bank Locator: Bank 1
        Type: DDR2
        Type Detail: Synchronous
        Speed: Unknown
        Manufacturer: Not Specified
        Serial Number: Not Specified
        Asset Tag: Not Specified
        Part Number: Not Specified
    En este caso el portátil ya tiene dos módulos de memoria de 1Gb instalados, por lo que no se puede ampliar :-(

    14/06/2019

    LibreOffice Calc: eliminar espacios al principio y al final

    1. Menú Editar > Buscar y reemplazar...
    2. Buscar: ^\s+|\ s+$
    3. Reemplazar: vacío
    4. Otras opciones: activamos "Sólo en la selección actual"
    5. Otras opciones: activamos "Expresiones regulares"
    6. Reemplazar todo

    16/12/2018

    Mostrar el menú de arranque de grub

    A veces al encender un ordenador, el menú de inicio de grub no aparece.
    Esto se soluciona pulsando la tecla <SHIFT> durante el arranque.
    Si queremos que el menú sea visible de forma permanente para los siguientes arranques, es mejor poner en /etc/default/grub

    GRUB_TIMEOUT_STYLE=menu
    GRUB_TIMEOUT=10
    y después actualizar grub
    $ grub-install

    21/02/2018

    Buscar y reemplezar múltiples cadenas de texto de una sola vez usando Notepad ++

    Queremos usar Notepad++ para sustituir, de una sola vez, unas cadenas de texto por otras. Es decir, quiero cambiar:
    "Texto1" por "TextoA"
    "Texto2" por "TextoB"
    "Texto3" por "TextoC"
    para ello utilizaré las expresiones regulares en Notepad++.
    1. Abrir el menú Buscar --> Reemplazar...
    2. Marcar las opciones "Buscar en todo en documento", "Expresión regular"
    3. Buscar: (Texto1)|(Texto2)|(Texto3)
    4. Reemplazar con: (?1TextoA)|(?2TextoB)|(?3TextoC)
    Solo para versiones de Notepad++ superiores a la 6.0