Sal



  • Sal
    di nome computer in una cella (utente non iscritto) data: 29/10/2012 16:38:05

    Ciao a tutti

    tempo fa chiesi aiuto qui nel forum chiedendo una macro che mi inserisse in una determinata cella l'indirizzo ip automaticamente (posto sotto la risposta di aiuto che mi era stata data (credo da Vecchio frac o Vanni, non ricordo bene).

    ora vorrei, per favore, un aiuto simile:

    se si potesse avere una macro simile che mi dia, però, in una determinata cella il nome del computer dove carico il file.

    grazie a tutti
    ciao
    Sal
     
    Sub test_ip()
    Dim objWMIService As Object, IPConfigSet As Variant, IPConfig As Variant, i As Long
    
        Set objWMIService = CreateObject("winmgmts:\.
    ootcimv2")
        Set IPConfigSet = objWMIService.ExecQuery("Select IPAddress from Win32_NetworkAdapterConfiguration")
    
        For Each IPConfig In IPConfigSet
            If Not IsNull(IPConfig.IPAddress) Then
                For i = LBound(IPConfig.IPAddress) To UBound(IPConfig.IPAddress)
                    [A4] = [A4] & IPConfig.IPAddress(i) & "-"
                 '   Debug.Print "Ip: " & IPConfig.IPAddress(i)
                Next
            End If
        Next
    End Sub
    



  • di Vecchio Frac data: 29/10/2012 22:39:46

    Intendi il nome del pc nel quale è in esecuzione il file Excel?
    Se sei su un sistema Windows, questa semplice istruzione potrebbe fare al caso tuo:

    pc_name = Environ("COMPUTERNAME")





  • di Sal (utente non iscritto) data: 30/10/2012 11:24:54

    ciao
    scusa la mia ignoranza, ma quella istruzione che mi hai scritto dove la devo mettere?

    come faccio a inviare il nome computer nella cella desiderata, es. A1 del Foglio1 ?

    io la macro precedente (quella riferita all'ip) l'avevo messa in

    "ThisWorkBook"

    come

    Private Sub Workbook_Open()

    in modo che appena apro il file mi scivesse nella cella desiderata l'ip. ora vorrei altrettanto
    appena apro il file mi deve scrivere il nome computer nella cella desiderata

    spero di essere stato chiaro

    ciao e grazie
    Sal




  • di HarryBosch data: 30/10/2012 11:42:54

    Nella sub che hai inserito, subito dopo
    [A4] = [A4] & IPConfig.IPAddress(i) & "-"

    puoi aggiungere
    [A1]= Environ("COMPUTERNAME")

    in sostanza metti il riferimento della cella tra le parentesi quadre e gli assegni "=" un valore, che in questo caso è il nome del pc



  • di Sal (utente non iscritto) data: 30/10/2012 13:53:54

    Grazie mille, funziona !

    ciao
    Sal



  • di HarryBosch data: 30/10/2012 13:59:04

    Bisogna ringraziare VecchioFrac! Anch'io non conoscevo questa funzione.
    Sapevo una strada ben più lunga per arrivarci



  • di Vecchio Frac data: 30/10/2012 14:31:20

    Inutile che stia qui a descrivervi Environ, lo petet vedere nella Guida.
    L'unica cosa su cui ho perplessità è se e come funziona su sistemi Windows dopo XP (Vista, Seven, ...).





  • di Vecchio Frac data: 31/10/2012 21:21:56

    Su Seven funziona correttamente.
    Del resto basta aprire una sessione con "cmd" da Esegui e digitare "SET" (invio) nella finestra simil DOS, per ottenere l'elenco delle variabili di ambiente memorizzate correntemente nel pc in uso. Ogni variabile d'ambiente può essere consultata poi mediante Environ("var").