Capita spesso durante lo sviluppo di un’attività, di accorgersi di alcuni malfunzionamenti e/o miglioramenti da apportare.
Cosa facciamo ?
Qualcuno risponderà prendiamo un foglio di carta e ci annotiamo quello che dobbiamo fare.
Orrore siamo degli informatici e amiamo la foresta Amazzonica quindi niente carta.
Utilizziamo invece un Ruzzino che tutte le volte che avviamo il pc ci ricorda pedantemente quello che dovevamo fare e che ancora non abbiamo risolto.
Sapete tutti che per far aprire un file all’avvio del pc basta copiare un collegamento nella cartella:
C:\Documents and Settings\All Users\Menu Avvio\Programmi\Esecuzione automatica.
Ci basta a questo punto creare il segretario informatico.
Voci inserite nel foglio di excel e che vengono visualizzate nel file di testo
pro
Cosa fare
Come fare
Chi lo Fa
Costo Orario
Tempo Previsto in ore
Inizio attività
Fine attività
Voci inserite nel foglio di excel e che non vengono visualizzate nel file di testo
Tempo Effettivo in ore
Costo Previsto
Costo Effettivo
Fatta
% soddisfazione
Le formule inserite nel foglio di lavoro di excel sono talmente banali che non necessitano di commento, vediamo invece come si comporta il file all’apertura: nell’evento Workbook_Open() inseriamo il seguente codice:
Option Explicit
Private Sub Workbook_Open()
Dim Cu_a As Currency ' variabile che serve come indice per il ciclo For Next
Dim ST_App As String ' variabile che serve a contenere i caratteri da scrivere nel file
Dim ST_NomeFile As String ' variabile che contiene nome del file di testo da creare
Dim ST_Separa As String ' variabile che serve a contenere i caratteri da inserire dopo ogni riga scritta nel file
ST_Separa = "+----+------------------------------+------------------------------+------------+--------+--------+---------------+---------------+"
ST_NomeFile = ActiveWorkbook.Path & "\Cose da fare.txt" 'Unisco il percorso e il nome del file da creare
Open ST_NomeFile For Output As #1 ' Apre il file.
'scrivo l'intestazione
Print #1, "+----+------------------------------+------------------------------+------------+--------+--------+---------------+---------------+"
Print #1, "| | | | Chì | Costo | Tempo | Inizio | Fine |"
Print #1, "|pro | Cosa Fare | Come Fare | Lo Fà | Orario |Previsto| Attività | Attività |"
Print #1, "| | | | | | in ore | | |"
Print #1, "+----+------------------------------+------------------------------+------------+--------+--------+---------------+---------------+"
ST_App = "" ' azzero la stringa che poi verrà stritta nel file di testo
For Cu_a = 2 To 64000
If Sheets("Fare").Cells(Cu_a, 1).Value = "" Then ' esegue il ciclo fino a quando ci sono dei valori nel progressivo
Exit For ' se non ci sono valori esce dal ciclo for
Else ' altrimenti esegue le istruzioni seguenti
ST_App = "" ' azzero la stringa che poi verrà stritta nel file di testo
If Sheets("Fare").Cells(Cu_a, 8).Value < Date Then ' se c'è la data di fine attività non è necessario fare l'attività
ST_App = ST_App & "|" & Mid(Sheets("Fare").Cells(Cu_a, 1).Value & " ", 1, 4)
' Inserisco nella stringa ST_App il progressiovo
ST_App = ST_App & "|" & Mid(Sheets("Fare").Cells(Cu_a, 2).Value & " ", 1, 30)
' Inserisco nella stringa ST_App La criticità da risolvere
ST_App = ST_App & "|" & Mid(Sheets("Fare").Cells(Cu_a, 3).Value & " ", 1, 30)
' Inserisco nella stringa ST_App Come risolvere La criticità
ST_App = ST_App & "|" & Mid(Sheets("Fare").Cells(Cu_a, 4).Value & " ", 1, 12)
' Inserisco nella stringa ST_App Chi deve risolvere La criticità
ST_App = ST_App & "|" & Mid(Sheets("Fare").Cells(Cu_a, 5).Value & " ", 1, 8)
' Inserisco nella stringa ST_App il costo orario di chi deve risolvere La criticità
ST_App = ST_App & "|" & Mid(Sheets("Fare").Cells(Cu_a, 6).Value & " ", 1, 8)
' Inserisco nella stringa ST_App La data inizio attività
ST_App = ST_App & "|" & Mid(Sheets("Fare").Cells(Cu_a, 7).Value & " ", 1, 15)
' Inserisco nella stringa ST_App Come la data di fine attività
ST_App = ST_App & "|" & Mid(Sheets("Fare").Cells(Cu_a, 8).Value & " ", 1, 15)
' Chiudo la scringa con il carattere "|"
ST_App = ST_App & "|"
Print #1, ST_App 'Scrivo la stringa creata
Print #1, ST_Separa 'scrivo la stringa di separazione
End If
End If
Next Cu_a
Close #1 ' Chiudo il file di testo
Call OpenTextFileTest(ST_NomeFile) ' passo il file di testo al programma notepad per visualizzarlo
End Sub
‘-----------------------------------------------------------------------------------------------------
Questa funzione serve ad aprire il file di testo generato.
‘-----------------------------------------------------------------------------------------------------
Function OpenTextFileTest(ST_NomeFile As String)
Dim RetVal
'Dim ST_NomeFile
Dim nome
nome = "notepad.EXE " & ST_NomeFile
RetVal = Shell(nome, 1)
End Function
‘-----------------------------------------------------------------------------------------------------
Questo codice serve inserire la data di inizio attività.
‘-----------------------------------------------------------------------------------------------------
Private Sub Inizio_Click()
Dim Riga As Currency
Riga = ActiveCell.Row
'Sheets("Fare").Cells(Riga, 7).Value = Time
Sheets("Fare").Cells(Riga, 7).Value = Date & Time
End Sub
‘-----------------------------------------------------------------------------------------------------
Questo codice serve inserire la data di fine attività.
‘-----------------------------------------------------------------------------------------------------
Private Sub Fine_Click()
Dim Riga As Currency
Riga = ActiveCell.Row
'Sheets("Fare").Cells(Riga, 8).Value = Time
Sheets("Fare").Cells(Riga, 8).Value = Date & Time
End Sub
‘-----------------------------------------------------------------------------------------------------
Questo codice serve ad aprire una form per inserire I dati.
‘-----------------------------------------------------------------------------------------------------
Private Sub InserisciAttivita_Click()
Range("B1:C30").Select
ActiveSheet.ShowDataForm
Range("B1").Select
End Sub
Qualcuno ancora vivo potrebbe chiedersi:
Domanda = ma se per descrivere le attività mi servono più di 30 caratteri?
Risposta = si può fare ma se voi non fate nulla vi si atrofizza il cervello.
Quindi accendete i pochi neuroni ancora presenti e dateci dentro.
Vediamo chi è più bravo è originale.
Potete inviare i vostri lavori a Info@rifici.it
Per Scaricare il file. http://www.rifici.it\public\Cose_da_fare.xls
....