posts - 30, comments - 0, trackbacks - 4

Segretario Informatico

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

 

....

 

 

 

 

 

 

 

 

 

 

 

 

 

?>

posted on mercoledì 26 aprile 2006 14.25