Excel e gli applicativi Microsoft Office Creazione di immagine QR o BareCode in automatico

Login Registrati
Stai vedendo 24 articoli - dal 1 a 24 (di 24 totali)
  • Autore
    Articoli
  • #1837 Score: 0 | Risposta

    marco_budin
    Partecipante
      2 pts
      Buona sera a tutti,
      Volevo fare una domanda.ho necessita di creare dei codici QR o BareCode (code128) in excel.
      Ho un file excel, scheda paziente. Quando arriva un paziente scrivo i dati anagrafici e nella cella A3 assegno un numero. Quando stampero il formulario compilato in alto appare il numero rappresentato nella cella A3.
      Vorrei che il numero nella cella A3 sia trasformato in un immagine (che io posiziono dove voglio nel foglio excel) con rappresentato il QR o BareCode (code128). Cosi in alto al formulario apparirà il codice.
      Quando arriva un altro paziente il numero cambia, e automaticamente si aggiorna il codice.
      io attualmente vado sul sito h_ttps://barcode.tec-it.com/it/Code128?data=ABC-abc-1234 e poi creo il codice e poi lo copio nel file excel in alto
      C'è un sistema semplice e veloce?
      Ringrazio tutti anticipatamente per l aiuto
      Buona serata
      Marco
      #1838 Score: 0 | Risposta

      patel
      Moderatore
        51 pts
        si può fare con una macro, allega un file di esempio indicando anche in quale cella vuoi il qrcode
        #1849 Score: 0 | Risposta

        marco_budin
        Partecipante
          2 pts
          Ciao Patel!
          ti ringrazio per la tua pronta risposta.
          Ti allego il File.
          spero che mi saprai aiutare. saluti
          Marco
          Allegati:
          You must be logged in to view attached files.
          #1854 Score: 0 | Risposta

          patel
          Moderatore
            51 pts
            ti avrei risolto subito il problema col qrcode, per il barcode devo documentarmi.
            Nel foglio originale ci sono elementi grafici ?
            #1856 Score: 0 | Risposta

            marco_budin
            Partecipante
              2 pts
              Grazie Patel.
              Cioe se è un grosso problema proviamo con il qr.
              In che senso elementi grafici? Cioe è  tutto scritto nelle celle, unics immagine sarebbe appunto il codice qr o codice a barre. Sarebbe meglio se a immagine, cosi poi lo posso spostare.
              #1857 Score: 0 | Risposta

              patel
              Moderatore
                51 pts
                prova il file allegato
                Allegati:
                You must be logged in to view attached files.
                #1859 Score: 0 | Risposta

                albatros54
                Moderatore
                  89 pts
                  un saluto a patel,
                  c'è una strada molto piu semplice, per il barcode:
                  vai in internet e scarichi il font  EAN-13.ttf o il font code128.ttf, una volta scaricati , vai nella dir windows/fonts è inserisci questi font.
                  Apri Excel, riferendomi al tuo file , formatta la cella A4 con i fonts EAN-13 o code128, è inserisci il riferimento nella barra delle formule =A2, dovresti vedere il codice a barre riferito alla cella A2, se è troppo piccolo, ingrandisci il font della cella A4.

                  Qual è il punto di avere gusti diversi, se non mostrare che i cervelli lavorano diversamente, che pensiamo diversamente?( Alan Turing)

                  #1867 Score: 0 | Risposta

                  patel
                  Moderatore
                    51 pts
                    Ciao Albatros, grazie per la dritta, mi ricordavo che c'era un modo semplice ma non ricordavo quale.
                    #1880 Score: 0 | Risposta

                    mb
                    Partecipante
                      Ciao patel una curiosità ero di passaggio
                      come si potrebbe otttenere il tutto con qr
                      Grazie
                      #1891 Score: 0 | Risposta

                      patel
                      Moderatore
                        51 pts
                        questo codice preleva i nomi dalla colonna C e inserisce i QR nella D
                        Sub Qrcode()
                        Dim cella As String
                        LastRow = Cells(Rows.Count, "A").End(xlUp).Row
                        ' 200x200 è la dimensione
                        url1 = "http://chart.apis.google.com/chart?chs=200x200&cht=qr&chld=H|0&chl="
                        For r = 2 To LastRow
                          cella = Range("C" & r).Text
                          url2 = URLEncode(cella, True)
                          url = url1 & url2
                          Range("D" & r).Select
                          ActiveSheet.Pictures.Insert (url)
                        Next
                        Range("C" & r).Select
                        End Sub
                        Public Function URLEncode(StringaIn As String, Optional Spaziopiu As Boolean) As String
                          Dim LungStringa As Long, i As Long, CodiceChar As Integer
                          Dim Char As String, Spazio As String
                          LungStringa = Len(StringaIn)
                          If LungStringa > 0 Then
                            ReDim risultato(LungStringa) As String
                            If Spaziopiu Then Spazio = "+" Else Spazio = "%20"
                            For i = 1 To LungStringa
                              Char = Mid(StringaIn, i, 1)
                              CodiceChar = Asc(Char)
                              Select Case CodiceChar
                                Case 97 To 122, 65 To 90, 48 To 57, 45, 46, 95, 126
                                  risultato(i) = Char
                                Case 32
                                  risultato(i) = Spazio
                                Case 0 To 15
                                  risultato(i) = "%0" & Hex(CodiceChar)
                                Case Else
                                  risultato(i) = "%" & Hex(CodiceChar)
                              End Select
                            Next i
                            URLEncode = Join(risultato, "")
                          End If
                        End Function
                        #1893 Score: 0 | Risposta

                        mb
                        Partecipante
                          1.000000000 grazie
                          alla prossima
                          #1899 Score: 0 | Risposta

                          marco_budin
                          Partecipante
                            2 pts
                            Ciao Patel!
                            sei un grande. scusami il ritardo nella mia risposta. Ho visto ora il file che hai generato Quello con il codice Code128. è fantastico. Unica cosa che ho notato. Come faccio eventualmente a crearne un altro? cioè ho provato a riinserire una nuova cifra nella cella A3 e ha sovrascritto il codice precedentemente presente. In se dovrebbe cancellarlo e creare uno nuovo.
                            Altra domanda, se dovessi farlo spostate il codice o farlo apparire da un altra parte, che parte del codice devo modificare? Cioe se volessi che il codice appare in F1. ce una parte del codice che dice dove posizionarlo?
                            scusami per tutte le domande, ti ringrazio molto per il tuo aiuto!
                            saluti
                            Marco
                            #1900 Score: 0 | Risposta

                            patel
                            Moderatore
                              51 pts
                              per cancellare il precedente modifica la riga
                              If Left(s.Name, 3) = "Lin" Then s.Delete
                              in
                              If Left(s.Name, 3) = "Str" Then s.Delete
                              per spostare il code occorre andare a tentativi modificando le coordinate della riga
                              Call Code128Generate(5, 25, 13, 1.1, ThisWorkbook.Sheets(1), Range("A3").Text)
                              i numeri 5 e 25 cono le coordinate grafiche.
                              Io ti consiglio però di seguire il suggerimento di Albatros al post #1859 è molto più semplice
                              #1909 Score: 0 | Risposta

                              marco_budin
                              Partecipante
                                2 pts
                                Ciao Patel.
                                Ti ringrazio moltissimo per il tuo prezioso aiuto, e ti auguro una buona serata
                                Alla prossima
                                Marco
                                #1959 Score: 0 | Risposta

                                marco_budin
                                Partecipante
                                  2 pts
                                  Ciao Patel! scusa se ti disturbo ancora,
                                  Per la creazione del codice a barre con macro, ho provato a far apparire su un altra pagina il codice. Come vedi nel nuovo allegato ho una pagina (Dati principali) dove nella cella A3 metto appunto il numero da generare, e il codice dovrà generarsi nella pagina Anamnesi e Fattura. Cosa devo inserire nel codice:
                                  Call Code128Generate(5, 25, 13, 1.1, ThisWorkbook.Sheets(1), Range("A3").Text)
                                  per ottenere che lo metti nelle due pagine, sempre nella stessa posizione. Poi una volta generato torna nella pagina Dati Principali in A3
                                  ti ringrazio anticipatamente,
                                  saluti
                                  Marco
                                  Allegati:
                                  You must be logged in to view attached files.
                                  #1965 Score: 0 | Risposta

                                  patel
                                  Moderatore
                                    51 pts
                                    modifica così
                                    Sub a()
                                    Call Code128Generate(5, 25, 13, 1.1, Sheets(2), Sheets(1).Range("A3").Text)
                                    Call Code128Generate(5, 25, 13, 1.1, Sheets(3), Sheets(1).Range("A3").Text)
                                    End Sub
                                    
                                    Sub Code128Generate(ByVal X As Single, ByVal Y As Single, ByVal Height As Single, ByVal LineWeight As Single, _
                                    ByRef TargetSheet As Worksheet, ByVal Content As String, Optional MaxWidth As Single = 0)
                                    Dim WeightSum As Single
                                    Const XmmTopt As Single = 0.351
                                    Const YmmTopt As Single = 0.351
                                    Const XCompRatio As Single = 0.9
                                    For sh = 2 To 3
                                      For Each s In Sheets(sh).Shapes
                                        If Left(s.Name, 3) = "str" Then s.Delete
                                      Next
                                    Next
                                    
                                    Puoi usare soltanto il pulsante del primo foglio.
                                    Ma perché insisti con la macro ? non ti funziona la soluzione del Font ?
                                    #1966 Score: 0 | Risposta

                                    marco_budin
                                    Partecipante
                                      2 pts
                                      Ciao Patel,
                                      ti ringrazio moltissimo dell'aiuto. ma non bisogna mettere il nome del Foglio? basta inserire Sheet (1)? pensavo bisognasse mettere il nome. Ti faccio sapere se funziona
                                      Comunque per quello che riguarda i Font, purtroppo non posso usarli, perché utilizzando questo Excel su un PC da lavoro, le installazioni sono bloccate e quindi non posso far inserire un Font.
                                      ti ringrazio
                                      saluti
                                      Marco
                                      #1977 Score: 0 | Risposta

                                      patel
                                      Moderatore
                                        51 pts
                                        si può usare Sheets (numero) oppure Sheets ("nomefoglio")
                                        #2044 Score: 0 | Risposta

                                        marco_budin
                                        Partecipante
                                          2 pts
                                          Ciao Patel. ho un altro File, dove devo mettere dentro il codice a barre. Il numero lo metto in "Dati principali" A3, mentre il codice deve apparire nell'altro "Anamnesi".
                                          Ho scritto:
                                          Sub a()
                                          Call Code128Generate(5, 25, 13, 1.1, Sheets("Anamnesi"), Sheets("Dati principali").Range("A3").Text)
                                          End Sub
                                          
                                          Sub Code128Generate(ByVal X As Single, ByVal Y As Single, ByVal Height As Single, ByVal LineWeight As Single, _
                                                            ByRef TargetSheet As Worksheet, ByVal Content As String, Optional MaxWidth As Single = 0)
                                          Dim WeightSum As Single
                                          Const XmmTopt As Single = 0.351
                                          Const YmmTopt As Single = 0.351
                                          Const XCompRatio As Single = 0.9
                                          
                                            For Each s In ActiveSheet.Shapes
                                              If Left(s.Name, 3) = "str" Then s.Delete
                                            Next s
                                          Però non funziona. cioè lo mette, ma non lo cancella... devo aver sbagliato a scrivere le ultime righe...
                                          ti ringrazio per la tua pazienza.
                                          saluti
                                          Marco
                                          #2045 Score: 0 | Risposta

                                          marco_budin
                                          Partecipante
                                            2 pts
                                            Ciao Patel, ho scoperto, che anche il tuo codice che mi hai dato tu nel post #1965 non cancella il codice precedente.
                                            magari trovi una soluzione come sempre!
                                            in attesa ti auguro una buona serata e ti ringrazio
                                            Marco
                                            #2071 Score: 0 | Risposta

                                            patel
                                            Moderatore
                                              51 pts
                                              la cancellazione del codice precedente avviene qui
                                              For Each s In ActiveSheet.Shapes
                                                If Left(s.Name, 3) = “str” Then s.Delete
                                              Next s
                                              
                                              ma il foglio attvo è Dati principali quindi non funziona, devi cambiare così:
                                               
                                              For Each s In Sheets(“Anamnesi”).Shapes
                                               If Left(s.Name, 3) = "str" Then s.Delete
                                              Next s
                                              #2080 Score: 0 | Risposta

                                              marco_budin
                                              Partecipante
                                                2 pts
                                                Ciao Patel, funziona! Ti ringrazio davvero tanto per la pazienza e per L aiuto che mi hai dato!
                                                ti auguro una buona serata
                                                alla prossima
                                                marco
                                                #20965 Score: 0 | Risposta

                                                boezium
                                                Partecipante

                                                  Buongiorno a tutti,

                                                  avrei bisogno anche io di creare con excel un qr code. Nello specifico vorrei convertire i valori presenti nella colonna C ed inserire i rispettivi qr code nella colonna D. Ho provato a creare una macro incollando il testo in vba di Patel del 13/02/2018 alle 8:11 ma non mi funziona. mi viene selezionata la casella C2 ma nella colonna d non succede nulla. mi potete aiutare? uso excel 2013.

                                                  grazie a tutti

                                                   

                                                  #21063 Score: 0 | Risposta

                                                  vecchio frac
                                                  Senior Moderator
                                                    272 pts

                                                    boezium ha scritto:

                                                    Buongiorno a tutti,

                                                    Ciao, apri una discussione tua, separata da questa, di solito non ci si accoda a discussioni esistenti per porre quesiti diversi (anche se simili).

                                                  Login Registrati
                                                  Stai vedendo 24 articoli - dal 1 a 24 (di 24 totali)
                                                  Rispondi a: Creazione di immagine QR o BareCode in automatico
                                                  Gli allegati sono permessi solo ad utenti REGISTRATI
                                                  Le tue informazioni: