Compatibilità Macro Office/Openoffice/libreoffice

Segnalo questo post dove si spiega come rendere operative le macro di Microsoft Office sulla piattaforma OpenOffice/LibreOffice:

https://forum.openoffice.org/it/forum/viewtopic.php?f=6&t=1574

In breve vanno aggiunte le istruzioni in testa alla macro per renderle compatibili:

Rem Attribute VBA_ModuleType=VBAModule
Option VBASupport 1

Segnalo che macro complesse vanno riscritte nativamente

VN:F [1.9.22_1171]
Rating: 0.0/10 (0 votes cast)
VN:F [1.9.22_1171]
Rating: 0 (from 0 votes)

Attesa in comando BAT

Ho dovuto modificare un vecchio script dos (BAT) e avevo bisogno di inserire un’istruzione che attendesse un paio di minuti prima di eseguire le istruzioni successive. Ho risolto con l’istruzione CHOICE. Questa istruzione da un prompt tipo S/N e prosegue alla pressione del tasto. Ha però un parametro utile (/T) che è il tempo di attesa prima di assumere una risposta di default. In pratica dico premi si o no e tra due minuti proseguo con Si anche se non mi serve. Il comando è:

CHOICE /T 120 /D S /N

/T è il numero di secondi di attesa

/D è la risposta di default (che va inserita ma non ci serve)

/N nasconde la frase immettere Si o No

Dato che su WindowsXP il comando choice non esiste, si può anche  usare:

ping -n 5 127.0.0.1 > nul

/n è il numero di ping (e quindi di secondi di attesa)

>nul non fa vedere l’output del comando

VN:F [1.9.22_1171]
Rating: 0.0/10 (0 votes cast)
VN:F [1.9.22_1171]
Rating: 0 (from 2 votes)

Excel e VBA

Oggi ho dovuto scrivere delle macro in excel che scorrevano celle e impostavano vari calcoli. Ho riassunto alcune funzioni come promemoria, se avete bisogno o volete giocare con le macro:

  • Aprite excel
  • premete ALT+F8 per gestire le macro
  • Nuova Macro e inserite il codice seguente:

Dim sh As Worksheet

Dim lRiga As Long
Dim lCol As Long
Dim Contatore As Integer

Sheets(“Foglio1”).Select
Set sh = ThisWorkbook.Worksheets(“Foglio1”)

‘————————————–
Contatore = 0

With sh
 For lRiga = 1 To 5
  For lCol = 1 To 3
   ‘—– Test contenuto di una cella
   ‘ If .Cells(lRiga, lCol).Value = “www” Then
   ‘ Range(.Cells(lRiga, lCol).Address) = “TROVATO”
   ‘ End If
                    
   ‘—– Coordinate cella
   ‘ MsgBox “Coordinate cella –> ” + .Cells(lRiga, lCol).Address
                 
   ‘—– Imposto un Contatore
   Contatore = Contatore + 1
   ‘ MsgBox (“Contatore –> ” & Contatore)
                    
   ‘—– Visualizzo il Contenuto di una Cella
   MsgBox “Contenuto cella –> ” & .Cells(lRiga, lCol).Value
                    
   ‘—– Imposto il contenuto di una cella variabile
   ‘ Range(.Cells(lRiga, lCol).Address) = Contatore
                 
   ‘—– Imposto il contenuto della cella successiva
   ‘ Range(.Cells(lRiga, (lCol + 1)).Address) = “X”
                 
   ‘—– Imposto il contenuto della riga successiva
   ‘ Range(.Cells((lRiga + 1), lCol).Address) = “X”
                    
  Next
 Next
End With

Set sh = Nothing

‘ Determinare il numero righe esistenti
    
‘NumeroRighe = ContaRighe(“Tutti”, 1, 4)
MsgBox “Il numero dell’ ultima riga occupata nelle prime 4 colonne è :   ” & NumeroRighe
    
End Sub

Function ContaRighe(WS$, MinCol, MaxCol)

Dim Contatore
For COLONNA = MinCol To MaxCol
Ur = Worksheets(WS$).Cells(65536, COLONNA).End(xlUp).Row ‘ Ur = Ultima riga
valore = Worksheets(WS$).Cells(Ur, COLONNA).Value
If Contatore < Ur And valore <> “” Then
 Contatore = Ur
End If
Next COLONNA
ContaRighe = Contatore

End Function

Allego un foglio già pronto scaricabile da qui –> Prove_Excel

 

VN:F [1.9.22_1171]
Rating: 0.0/10 (0 votes cast)
VN:F [1.9.22_1171]
Rating: 0 (from 0 votes)

Utilizzo i cookie per essere sicuro che tu possa avere la migliore esperienza sul mio sito. Se continui ad utilizzare questo sito assumo che tu ne sia felice.. maggiori informazioni

Questo sito utilizza i cookie per fonire la migliore esperienza di navigazione possibile. Continuando a utilizzare questo sito senza modificare le impostazioni dei cookie o clicchi su "Accetta" permetti al loro utilizzo.

Chiudi