Condividi:        

Aggiungere testo contenuto in specifica cella su file pdf

Vuoi potenziare i tuoi documenti Word? Non sai come si fa una macro in Excel? Devi creare una presentazione in PowerPoint?
Oppure sei passato a OpenOffice e non sei sicuro di come lavorare al meglio?

Moderatori: Anthony47, Flash30005

Aggiungere testo contenuto in specifica cella su file pdf

Postdi systemcrack » 07/06/24 13:17

Buon pomeriggio, dopo essere riuscito a realizzare ciò che mi interessava grazie a questa conversazione vorrei aggiungere un'ulteriore "accorgimento all'automatismo".

Ma facciamo un breve riepilogo:
Ho un file chiamato schema entrate OGGI.xlsm (di cui ho parlato in ultimo qui) che alla sua apertura apre un altro file chiamato MAPPA.MAG.ESTERNI.xlsx in cui sono contenuti 18 Fogli.
Ogni foglio contiene 2 immagini una con una piantina dei piazzali e una con la safety card.

Cosa vorrei riuscire a fare:
Ora vorrei che ogni volta che viene stampata la piantina con il doppio click vi fosse riportata anche la targa del relativo mezzo, il cui dato sarebbe ottenuto dal range di celle B2:B201 del file schema entrate OGGI

Ho fatto una prova registrando una macro sul file MAPPE in cui ho aggiunto un riquadro testo nel punto in cui volevo ed ho orientato il testo nel senso giusto ed è venuto fuori questo codice:
Codice: Seleziona tutto
Sub AggiungiTarga()
'
' AggiungiTarga Macro
'

'
    ActiveSheet.Shapes.AddTextbox(msoTextOrientationHorizontal, 497.25, 232.5, 19.5 _
        , 95.25).Select
    Selection.ShapeRange.TextFrame2.Orientation = msoTextOrientationUpward
End Sub


Partendo da questo come faccio a riportare il testo della cella nella casella di testo creata su MAPPE?
Ripensando, mentre scrivo il post, mi rendo conto che forse ho fatto un errore, in quanto io ho cambiato il file MAPPE in xlsm, ma forse sarebbe stato meglio lanciare la macro sempre dal file schema entrate OGGI..
sinceramente ho le idee un pò confuse ogni consiglio sarà ben accetto :roll:
Avatar utente
systemcrack
Utente Senior
 
Post: 315
Iscritto il: 27/07/17 09:40

Sponsor
 

Re: Aggiungere testo contenuto in specifica cella su file pd

Postdi systemcrack » 07/06/24 13:36

Al momento la macro che risponde al doppio click è così composta:
Codice: Seleziona tutto
Private Sub Worksheet_BeforeDoubleClick(ByVal Target As Range, Cancel As Boolean)
'
If Target.Column <> 16 Then Exit Sub        '16=P
Select Case Target.Value
Case "2"
        Workbooks("MAPPA.MAG.ESTERNI.xlsx").Sheets("STR.2").PrintOut    '<<<
Case "STR.3"
        Workbooks("MAPPA.MAG.ESTERNI.xlsx").Sheets("STR.3").PrintOut    '<<<
Case "3/PICKING"
        Workbooks("MAPPA.MAG.ESTERNI.xlsx").Sheets("STR.3").PrintOut    '<<<
Case "4"
        Workbooks("MAPPA.MAG.ESTERNI.xlsx").Sheets("STR.4").PrintOut    '<<<
Case "5"
        Workbooks("MAPPA.MAG.ESTERNI.xlsx").Sheets("STR.5").PrintOut    '<<<
Case "6"
        Workbooks("MAPPA.MAG.ESTERNI.xlsx").Sheets("STR.6").PrintOut    '<<<
Case "8"
        Workbooks("MAPPA.MAG.ESTERNI.xlsx").Sheets("STR.8").PrintOut    '<<<
Case "10"
        Workbooks("MAPPA.MAG.ESTERNI.xlsx").Sheets("STR.10").PrintOut    '<<<
Case "12"
        Workbooks("MAPPA.MAG.ESTERNI.xlsx").Sheets("STR.12").PrintOut    '<<<
Case "16"
        Workbooks("MAPPA.MAG.ESTERNI.xlsx").Sheets("STR.16").PrintOut    '<<<
Case "18"
        Workbooks("MAPPA.MAG.ESTERNI.xlsx").Sheets("STR.18").PrintOut    '<<<
Case "EX.MERZ."
        Workbooks("MAPPA.MAG.ESTERNI.xlsx").Sheets("EX.MERZ.").PrintOut
        MsgBox ("MAGAZZINO ESTERNO AVVISA SPUNTATORE") '<<<
Case "S.MARCO"
        Workbooks("MAPPA.MAG.ESTERNI.xlsx").Sheets("S.MARCO").PrintOut
        MsgBox ("MAGAZZINO ESTERNO AVVISA SPUNTATORE")        '<<<
Case "3B"
        Workbooks("MAPPA.MAG.ESTERNI.xlsx").Sheets("3B").PrintOut
        MsgBox ("MAGAZZINO ESTERNO AVVISA SPUNTATORE") '<<<
Case "RA MILL"
        Workbooks("MAPPA.MAG.ESTERNI.xlsx").Sheets("RA MILL").PrintOut
        MsgBox ("MAGAZZINO ESTERNO AVVISA SPUNTATORE") '<<<
Case "MICRON MIN"
        Workbooks("MAPPA.MAG.ESTERNI.xlsx").Sheets("MICRON MIN").PrintOut
        MsgBox ("MAGAZZINO ESTERNO AVVISA SPUNTATORE") '<<<
Case "COLACEM"
        Workbooks("MAPPA.MAG.ESTERNI.xlsx").Sheets("COLACEM").PrintOut
        MsgBox ("MAGAZZINO ESTERNO AVVISA SPUNTATORE") '<<<
Case "SOCO VECCHIA"
        Workbooks("MAPPA.MAG.ESTERNI.xlsx").Sheets("SOCO VECCHIA").PrintOut
        MsgBox ("MAGAZZINO ESTERNO AVVISA SPUNTATORE") '<<<
Case "CONSORZIO"
        Workbooks("MAPPA.MAG.ESTERNI.xlsx").Sheets("CONSORZIO").PrintOut
        MsgBox ("MAGAZZINO ESTERNO AVVISA SPUNTATORE") '<<<
    'Altri "Case" come da tua situazione
   
End Select
Xit:
Cancel = True
ThisWorkbook.Save
Entrata.Show
End Sub


Immagino di dover inserire il comando tra Case NR e Workbooks("MAPPA.MAG.ESTERNI.xlsx").Sheets("NR").PrintOut '<<<
Avatar utente
systemcrack
Utente Senior
 
Post: 315
Iscritto il: 27/07/17 09:40

Re: Aggiungere testo contenuto in specifica cella su file pd

Postdi Anthony47 » 08/06/24 00:32

Non ti aspetterai che ci ricordiamo tutto di Oggi.xlsm e MAPPA.MAG.ESTERNI.xlsx, vero?

Con un po' di fantasia, io modificherei il codice della Private Sub Worksheet_BeforeDoubleClick per aggiungere la creazione dei Textbox e l'inserimento della targa prima di mandare in stampa.
Orientativamente:
Codice: Seleziona tutto
Private Sub Worksheet_BeforeDoubleClick(ByVal Target As Range, Cancel As Boolean)
'
If Target.Column <> 16 Then Exit Sub        '16=P
'
Dim mySh As Worksheet
Select Case Target.Value
Case "2"
    'Imposta il foglio da usare:
    Set mySh = Workbooks("MAPPA.MAG.ESTERNI.xlsx").Sheets("STR.2")
    'Rimuovi il textbox preesistente:
    On Error Resume Next
        mySh.Shapes("SHPPippa").Delete
    On Error GoTo 0
 '   
    With mySh
        'Aggiungi textbox e imposta posizione, nome e orientation:
        .Shapes.AddTextbox(msoTextOrientationHorizontal, 497.25, 232.5, 19.5 _
            , 95.25).Select
        .Shapes(mySh.Shapes.Count).Name = "SHPPippa"
        .Shapes("SHPPippa").TextFrame2.Orientation = msoTextOrientationUpward
        'scrivici la targa:
        .Shapes("SHPPippa").TextFrame.Characters.Text = "La Tua Targa"
        'manda in stampa:
        .PrintOut    '<<<
    End With
'Altro Case:
Case "STR.3"
    'Imposta il foglio da usare:
    Set mySh = Workbooks("MAPPA.MAG.ESTERNI.xlsx").Sheets("STR.3")
'etc etc
'etc etc

Spero che il concetto sia comprensibile e soprattutto adeguato a quello che dovresti realizzare...
Avatar utente
Anthony47
Moderatore
 
Post: 19261
Iscritto il: 21/03/06 16:03
Località: Ivrea

Re: Aggiungere testo contenuto in specifica cella su file pd

Postdi systemcrack » 10/06/24 09:38

Buongiorno Anthony e grazie per la tua risposta,
scusami ho fatto il post al volo con il cervello fumante e non ho pensato a ripostare i files.
Intanto posto il link di seguito per scaricarli da qui. Oggi proverò a fare qualche esperimento utilizzando il codice che mi hai passato e ti farò sapere.

5 min dopo
Anthony47 ha scritto:Non ti aspetterai che ci ricordiamo tutto di Oggi.xlsm e MAPPA.MAG.ESTERNI.xlsx, vero?

Con un po' di fantasia, io modificherei il codice della Private Sub Worksheet_BeforeDoubleClick per aggiungere la creazione dei Textbox e l'inserimento della targa prima di mandare in stampa.
Spero che il concetto sia comprensibile e soprattutto adeguato a quello che dovresti realizzare...

Dando un'occhiata al codice, mi sembra di capire che così facendo è l'operatore che tramite input box inserisce la targa manualmente o sbaglio? Non è possibile riportare il dato dalla colonna delle targhe?
Avatar utente
systemcrack
Utente Senior
 
Post: 315
Iscritto il: 27/07/17 09:40

Re: Aggiungere testo contenuto in specifica cella su file pd

Postdi systemcrack » 10/06/24 09:57

10 min dopo
Ho fatto la prova e non esce un input box.. viene riportata di seguito la dicitura "La Tua Targa".
Immagino di dover modificare questa parte di codice:
Codice: Seleziona tutto
("SHPPippa").TextFrame.Characters.Text = "La Tua Targa"

Proverò a far a riportare il dato della colonna targhe della rispettiva riga.
Avatar utente
systemcrack
Utente Senior
 
Post: 315
Iscritto il: 27/07/17 09:40

Re: Aggiungere testo contenuto in specifica cella su file pd

Postdi systemcrack » 10/06/24 11:01

Al momento ho partorito questo:
Codice: Seleziona tutto
ActiveCell.Offset(0, -13).Select
Selection.Copy
Windows("MAPPA.MAG.ESTERNI.xlsx")
    With Selection.ShapeRange(1).TextFrame2.TextRange.Characters(1, 5).Font.Fill
        .Visible = msoTrue
        .ForeColor.RGB = RGB(255, 0, 0)
        .Transparency = 0
        .Solid
    End With

Siamo in colonna P e sto tentando di dire alla macchina di selezionare la cella sita sulla stessa riga, (dopo il doppio click), ma 13 colonne prima rispetto alla selezionata, (cioè colonna B stessa riga).
Oltre al non essere sicuro sul codice che ho composto (un pò registrando un pò guardando degli esempi di microsoft), non idea di come sostituire questo codice a:
Codice: Seleziona tutto
("SHPPippa").TextFrame.Characters.Text = "La Tua Targa"
Avatar utente
systemcrack
Utente Senior
 
Post: 315
Iscritto il: 27/07/17 09:40

Re: Aggiungere testo contenuto in specifica cella su file pd

Postdi Anthony47 » 10/06/24 12:34

Nel tuo primo messaggio dicevi che la targa si trovava nel range B2:B201, senza altri elementi su come prelevare una delle targhe.
Ora capisco che si parla di colonna B della riga su cui e' stato eseguito doppiclick. Se e' giusto quel che ho capito allora la riga .Shapes("SHPPippa").TextFrame.Characters.Text = "La Tua Targa" deve diventare
Codice: Seleziona tutto
.Shapes("SHPPippa").TextFrame.Characters.Text = Target.Offset(0, -14).Value
Avatar utente
Anthony47
Moderatore
 
Post: 19261
Iscritto il: 21/03/06 16:03
Località: Ivrea

Re: Aggiungere testo contenuto in specifica cella su file pd

Postdi systemcrack » 10/06/24 14:10

Grande Anthony!
Hai riassunto in una riga tutti i passaggi registrati dal reg.di macro di excel e funziona!
Io ho aggiunto solo il colore al testo (rosso).
Avatar utente
systemcrack
Utente Senior
 
Post: 315
Iscritto il: 27/07/17 09:40


Torna a Applicazioni Office Windows


Topic correlati a "Aggiungere testo contenuto in specifica cella su file pdf":


Chi c’è in linea

Visitano il forum: Nessuno e 30 ospiti