Archivi categoria: Office

Programmazione in ambito Microsoft Office (Word, Excel, Access…) con VBA ecc.

Grandi novità dal mondo Microsoft!

Finalmente l’annuncio dell’uscita di aggiornamenti di molti prodotti di punta di Microsoft:

  • Windows Server 2019
  • Aggiornamento 1809 di Windows 10 denominato “Windows 10 October 2018 Update”
  • Office 2019

WindowsServer2019

(N.B. immagine non ufficiale)


A parte l’aggiornamento di Windows 10 che non appare tra i prodotti scaricabili da MSDN, forse perché alcuni siti hanno segnalato problemi avuti da qualche utente, gli altri sono già scaricabili e installabili. Se fate l’aggiornamento, quindi, fate attenzione agli eventuali avvisi di incompatibilità (pare che il problema sia un driver di Intel) per evitare che il computer diventi inutilizzabile o che si perdano dati e documenti (fate i backup!).

Office365

Trovo particolarmente interessante Office 2019 che potrebbe essere l’ultima versione “a pacchetto”, perché sembra che le intenzioni di Microsoft siano quelle di spingere verso l’edizione online (OFFICE 365) per garantire aggiornamenti immediati, con correzione di bug “al volo” e introduzione di nuove caratteristiche di volta in volta che vengono rilasciate. Questo significherebbe la stabilizzazione del marchio OFFICE 365 a scapito delle edizioni annuali (“Office 2013…2016…2019”), così come è stato fatto con Windows 10, dove gli aggiornamenti modificano la build ma non il “nome di base” WINDOWS 10.

A questo punto mancano solo due altri tasselli per un rinnovo totale del mio “ecosistema” informatico: l’aggiornamento a Visual Studio 2019 (già in corso d’opera e che ha avuto già qualche accenno di annuncio) e l’aggiornamento di SQL Server (al momento l’ultima versione è la 2017, quindi è probabile che non ci saranno ulteriori aggiornamenti a breve… vedremo).

Bene, tutti a fare il download e mi raccomando: sempre avanti, chi si ferma è perduto!

Winking smile


ULTIM’ORA PER WINDOWS 10

https://support.microsoft.com/…/windows-10-update-history
“We have paused the rollout of the Windows 10 October 2018 Update (version 1809) for all users as we investigate isolated reports of users missing some files after updating.”


“ULTIMA ULTIM’ORA” PER VISUAL STUDIO 2019 E LA RELEASE 15.9 DI VISUAL STUDIO 2017

Oggi è giornata di aggiornamenti vari delle notizie che ho pubblicato… Nel tempo trascorso scaricando e installando Office 2019 ho visto un nuovo post relativo a Visual Studio 2019 e quindi ve lo riporto subito

https://blogs.msdn.microsoft.com/visualstudio/2018/10/05/visual-studio-2017-and-visual-studio-for-mac-support-updates/

Una "app-book" su Office 2016 per Windows 10

Ho appena pubblicato una innovativa “app” per PC con Windows 10, scaricando la quale potrete avere una copia del mio libro “OFFICE 2016 PER PRINCIPIANTI” pubblicata in cartaceo su Amazon (a colori http://bit.ly/office2016colori – in bianco e nero http://bit.ly/office2016bn, rispettivamente a 51,90 € e a 15,50 €).

Su Microsoft Store, invece, potete ottenerla al prezzo competitivo di 2,99 € visitando questo indirizzo:

https://www.microsoft.com/it-it/store/p/garage40-book/9nvq854f11bw?rtc=1

24993263_10155601250416971_4284645672449403797_n

La versione sullo Store è uguale alla copia a colori cartacea e quindi il vantaggio economico è enorme per chi volesse preferire la versione digitale piuttosto che quella cartacea.

A chi potrebbe servire una “app-book” come questa? A studenti (dalle elementari in su), a persone più “mature” che volessero imparare a usare Office, alle aziende che volessero organizzare corsi per i propri dipendenti, a singole persone che devono partecipare a una selezione di lavoro (concorso, colloquio con prove pratiche ecc.) e, perché no?, anche a persone semplicemente curiose.

Il vantaggio di una “app-book” in sostanza qual è? In questo caso abbiamo un libro “completo” con argomenti che vanno da Office 2016 in generale, fino ai dettagli d’uso di Word, Excel e Power Point. Ma non finisce qui: chiunque può segnalare un refuso, un errore nel testo e questo sarà corretto nella versione successiva, pubblicata nello Store e aggiornata automaticamente da Windows 10! Inoltre il libro così com’è è virtualmente “finito” (come può esserlo un libro di testo stampato), ma è potenzialmente suscettibile di adeguamenti, modifiche ed estensioni. Per esempio, se le richieste saranno relativamente numerose, si potrà aggiungere un ulteriore capitolo su un argomento di interesse, sempre incentrato su Office 2016.

Insomma, sono molto soddisfatto di questo primo risultato e spero che possa piacervi.

Buona lettura! Winking smile

[VB6] Gestione specifiche import-export di database Access

Per il mio lavoro, spesso ho la necessità di gestire l’importazione e l’esportazione di file di dati (tipicamente file di testo con record a lunghezza fissa) da Microsoft Access. Per queste attività ho sempre utilizzato la gestione delle specifiche di importazione/esportazione nativa di Access, ma è una funzionalità che non mi ha mai soddisfatto completamente.

Per esempio ci sono stati dei casi in cui non sono riuscito a modificare una specifica già esistente e ho dovuto ricrearla da zero, senza contare il problema di inserire un campo all’interno di una specifica già esistente: in questo caso è necessario ricalcolare manualmente il carattere di partenza di ciascun campo successivo. Anche lo spostamento di un campo in una diversa posizione è un’attività che può diventare un’atroce perdita di tempo.

Ecco quindi che, diverso tempo fa, ho pensato di creare un progetto in Visual Basic 6.0 (download di 153 kb). Anzi, i progetti sono più di uno:

  • un progetto che comprende l’interfaccia principale (ImportExport.vbp)
  • un progetto che comprende l’interfaccia per la gestione delle specifiche (Specifiche.vbp)
  • un progetto per gestire le attività di importazione (Import.vbp)
  • un progetto per gestire le attività di esportazione (Export.vbp). 

Con il link sopra riportato potete scaricare tutti questi progetti, con anche gli eseguibili già compilati, un database di prova e alcuni file di testo, con qualche specifica di importazione/esportazione già caricata.

Le specifiche, infatti, vengono caricate in una tabella di Access. E’ possibile estrarre anche le specifiche da un database già esistente e salvarle in questa tabella speciale, così da centralizzare tutte le attività di importazione/esportazione.

Non è tutto: considerato che potrebbe essere necessario eseguire un’importazione/esportazione anche direttamente da un programma VBA scritto all’interno di Access (o di un altro prodotto Office) o perfino in un proprio programma scritto in qualsiasi altro linguaggio (perfino VB.NET), ho pensato di gestire i parametri della riga di comando utilizzati per avviare i programmi Import.exe e Export.exe.

In questo modo è possibile avviare, per esempio, Import.exe passandogli già i parametri necessari per eseguire l’importazione senza nemmeno aprire la sua interfaccia grafica! Il trucco sta tutto nell’evento Load del form Import.frm:

Private Sub Form_Load() 
    ReDim argv(5) As String 
    Dim i As Integer 
    
    Dim sNomeFile 
    Dim sNomeSpecifica 
    Dim sNomeDB 
    Dim sNomeTabella 
      

    ' legge la riga di comando: 
    argv = GetCommandLine(argv) 
    
    If argv(1) <> "" Then 
        ' i parametri vengono passati secondo quest'ordine: 
        sNomeFile = argv(1) 
        sNomeSpecifica = argv(2) 
        sNomeDB = argv(3) 
        sNomeTabella = argv(4) 
        sFlagDelete = argv(5) 
        
        If argv(5) = 1 Then 
            Call DeleteTable(sNomeDB, sNomeTabella) 
        End If 
        
        If argv(1) <> "" Then 
            Call ImportaFile(sNomeFile, sNomeSpecifica, sNomeDB, sNomeTabella) 
        End If 
        
        ' annulla il caricamento del form: 
        Unload Me 
        Exit Sub 
    End If 
    
    ReDim arraySpecifiche(1) 
    arraySpecifiche = ElencaSpecifiche() 
    
    Me.txtNomeSpecifica.Clear 
    For i = 1 To arraySpecifiche(0) 
        Me.txtNomeSpecifica.AddItem arraySpecifiche(i) 
    Next i 
        
End Sub

Per ultima, una piccola precisazione: questo programma l’ho scritto qualche anno fa, ma non l’avevo mai pubblicato prima, quindi è una soluzione assolutamente inedita.

Può sembrare anacronistico un progetto scritto in VB6 come nuova soluzione, visto che ormai .NET è diventata la piattaforma di sviluppo prevalente, ma c’è una considerazione da tenere presente: tra i file forniti con il file compresso c’è anche un report dell’analisi eseguita con Code Advisor per verificare la compatibilità dei progetti con VB.NET. L’esito è assolutamente confortante, dato che viene segnalato solo un piccolo problema relativo a Option Explicit, facilmente eliminabile.

Ovviamente questo progetto può essere utilizzato come prototipo per realizzare una soluzione analoga e più orientata agli oggetti, utilizzando codice VB.NET puro.

In ogni caso spero che possa essere utile a chi, come me, ha avuto problemi nell’utilizzo delle funzionalità native di Access per la gestione delle specifiche di importazione/esportazione.

[VSTO] creazione di un task panel tramite VB.NET e C#

Sul blog di Emanuele Mattei è stato pubblicato un articolo sulla gestione di un task panel in Office: http://blog.shareoffice.it/emanuele/articles/9240.aspx.

Anche in questo caso, la tecnologia trattata è VSTO, cioè Visual Studio Tools for Office che ora, nella nuova versione di Visual Studio 2008 (in particolare nella versione Professional), è incluso del prodotto stesso e non è più necessario installarlo come add-in separato.

[VSTO] Creare uno Smart Tag in Word

Sul sito www.iprogrammatori.it è stato pubblicato un articolo che spiega la procedura per creare uno smart tag in Word, utilizzando Visual Tools for Office (VSTO).

Articolo completo QUI. Nella pagina è possibile anche trovare un link per scaricare l’esempio.

[Excel 2007] Patch per bug nei calcoli

Il 26 Settembre 2007, Punto Informatico aveva segnalato un bug nei calcoli di Excel 2007: http://punto-informatico.it/p.aspx?id=2073462

In particolare risultano errati questi calcoli che dovrebbero fornire in tutti i casi 65535, mentre invece forniscono 100000:
=5,1*12850
=10,2*6425
=20,4*3212,5
=40,8*1606,25
=850*77,1
=77,1*850
=154,2*425
=212,5*308,4
=308,4*212,5
=425*154,2

Microsoft ha fornito la spiegazione ufficiale dell’errore, attribuendolo ad un errore di visualizzazione e non di calcolo. Infatti è sufficiente aggiungere alla formula di cui sopra -1 oppure +2 e otterremo il risultato corretto:
http://blogs.msdn.com/excel/archive/2007/09/25/calculation-issue-update.aspx

Errore di calcolo o errore di visualizzazione, la cosa comunque è estremamente inquietante, tanto che Microsoft ha anticipato una patch per risolvere il problema, come indicato nel nuovo articolo di Punto Informatico:
http://punto-informatico.it/p.aspx?id=2085908

Ecco quindi la patch, scaricabile da: http://blogs.msdn.com/excel/archive/2007/10/09/calculation-issue-update-fix-available.aspx e che dovrebbe essere inclusa nel Service Pack di Office 2007 e tra gli aggiornamenti di Windows Update.

[Access] Diagrammi di Gantt con Access per la pianificazione di progetti

Sul sito Microsoft (portale per le PMI) è disponibile un articolo che spiega come è possibile creare diagrammi di Gantt con Access per la pianificazione di progetti. Dalla stessa pagina è possibile scaricare un file PDF con l’intero articolo e un file .zip con il database Access di esempio.