Condividi:        

[Excel] - Creare Pulsante che apre Oggetto Incorporato

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

[Excel] - Creare Pulsante che apre Oggetto Incorporato

Postdi alexlecter » 22/08/13 04:51

Buongiorno a tutti, sono nuovo del forum e spero possiate aiutarmi nel migliore dei modi.
Spiego in breve il mio problema.
Ho un file excel, con due fogli, nel primo foglio ho un elenco di nomi ad esempio disegno1, disegno2, disegno3, ecc...ecc...e nel secondo foglio ho una serie di oggetti incorporati che aprono dei file word.
Se io mi posiziono nel primo foglio sulla casella dove c'è scritto "disegno1" e clicco il pulsante "apri documento" mi deve aprire il file word nel secondo foglio che si chiama "x1", se mi posiziono su "disegno2" nel primo foglio e clicco il pulsante "apri documento" mi deve aprire il file word nel secondo foglio che si chiama "x2" ecc...ecc...
Però se io cambio una casella nel primo foglio, al posto di "disegno1" scrivo "disegno5" e mi posiziono su di essa e poi clicco su "apri documento" mi deve aprire il file word "x5" del secondo foglio.
Spero di essere stato chiaro... So per certo che si può fare perchè l'ho visto davanti gli occhi miei però non sono riuscito a capire se sia fatto con macro piuttosto che con qualche collegamento.
In realtà non riesco nemmeno a far puntare semplicemente la scritta "disegno1" al documento word "x1". Cioè se creo un collegamento ipertestuale ad un file esterno, ci riesco, se invece voglio creare un collegamento ipertestuale con l'oggetto incorporato nel secondo foglio allora niente da fare.
Se potete aiutarmi...prima di tutto col primo problema cioè quello del pulsante, ah dimenticavo, ovviamente il pulsante è uno solo e piazzato sul primo foglio.
Grazie
Alex
Win 7 + Office 2010
alexlecter
Newbie
 
Post: 8
Iscritto il: 22/08/13 04:37

Sponsor
 

Re: [Excel] - Creare Pulsante che apre Oggetto Incorporato

Postdi Flash30005 » 22/08/13 06:55

Ciao Alexlecter benvenuto nel Forum

Non vedo la necessità di un pulsante quando puoi ottenere la stessa cosa cliccando su una cella che contiene la stringa (disegno1, disegno2 etc)
e non so cosa intendi per oggetti word nel foglio2 pertanto avrei ideato questa soluzione
Nel foglio1 da A2 in poi hai il tuo elenco disegni
Nel foglio2 da A2 in poi lo stesso elenco disegni e in B2 (in poi) i nomi dei file word (completi di estensione)
Ora se inserisci in un modulo questa macro
Codice: Seleziona tutto
Public Dis As String
Sub aprifile()
 UR = Worksheets("Foglio2").Range("A" & Rows.Count).End(xlUp).Row
 For RR = 2 To UR
    If Dis = Worksheets("Foglio2").Range("A" & RR).Value Then
        FDoc = Worksheets("Foglio2").Range("B" & RR).Value
        Exit For
    End If
 Next RR
If FDoc = "" Then Exit Sub
perc = Application.ActiveWorkbook.Path & "\"  '<<<<<< percorso dei file word
Dim oApp As Object
    Set oApp = CreateObject("Word.Application")
    oApp.Visible = True
    On Error GoTo ErrF
    oApp.Documents.Open Filename:=perc & FDoc
Exit Sub
ErrF:
oApp.Application.Quit
Set oApp = Nothing
On Error GoTo 0
End Sub

E nel Vba del foglio1 (non odulo) questo codice
Codice: Seleziona tutto
Private Sub Worksheet_SelectionChange(ByVal Target As Range)
 UE = Range("A" & Rows.Count).End(xlUp).Row
CheckArea = "A2:A" & UE
If Not Application.Intersect(Target, Range(CheckArea)) Is Nothing Then
    If (Selection.Rows.Count + Selection.Columns.Count) > 2 Then Exit Sub
Dis = Target
aprifile
 End If
 End Sub

Ad ogni click del mouse su una cella della colonna A (range popolato) si aprirà il file word corrispondente e che si trova nella stessa cartella del file Excel che stai adoperando, altrimenti cambia il percorso (dove indicato) con quello effettivo dei file word

Ciao
Flash
Win10 + Office 2010 Ita
"Fotografica" al servizio dell'immagine
Avatar utente
Flash30005
Moderatore
 
Post: 8517
Iscritto il: 27/09/07 11:44
Località: Roma +o-

Re: [Excel] - Creare Pulsante che apre Oggetto Incorporato

Postdi alexlecter » 22/08/13 12:31

Mi serve il pulsante perchè qualcuno ha pensato che il pulsante è meglio...è un problema enorme? E poi in quel modo la scritta "Disegno1" verrebbe sottolineata dato che ha un collegamento e non mi piace. E poi comunque ogni volta che aggiungo un disegno dovrei creare il collegamento e in quel foglio che ho già non funziona così, funziona che basta che nella cella ci sia la scritta "Disegno1" anche se ripetuta 4 volte in 4 celle diverse (e per vari motivi di lavoro capita che sia ripetuta) e io mi posiziono in una qualsiasi di quelle 4 caselle e clicco il pulsante si apre sempre il file associato "x1".
Per oggetti word intendo dei file word che ho importato nel secondo foglio "inserisci - oggetto - (visualizza come icona) - da file..." in modo da averli già incorporati nello stesso file excel così me li porto sempre appresso anche se cambio computer e non ce li ho collegati a c:\ecc...\ecc..., lo so il file excel diventa enorme ma per me va bene così.
Purtroppo ho la necessità di farlo così, scusatemi.
Alex
Win 7 + Office 2010
alexlecter
Newbie
 
Post: 8
Iscritto il: 22/08/13 04:37

Re: [Excel] - Creare Pulsante che apre Oggetto Incorporato

Postdi Flash30005 » 22/08/13 13:57

non c'è alcuna sottolineatura nelle stringhe disegnox etc
ma mi rendo conto che non mi sono espresso al meglio per il fatto chenoto la non comprensione di quanto esposto.
Per rimediare ti invio sia il file.xls che 4 documenti word x1.docs, x2, etc
scompatti l'intero archivio di 5 file in una cartella del tuo disco C:
avvii il file xls e clicchi in una cella della colonna A
penso che sia molto più semplice cliccare sulla cella che non cliccare sulla cella e premere un pulsante
una operazione invece che due
Comunque fai questa prova con quanto ti invio

download file

Attenzione: se la tua versione di word è la 2003 dovrai creare tu stesso i 4 file word, nominarli come previsto e cambiare l'estensione nel foglio 2 di Excel in colonna B

Ciao
Flash
Win10 + Office 2010 Ita
"Fotografica" al servizio dell'immagine
Avatar utente
Flash30005
Moderatore
 
Post: 8517
Iscritto il: 27/09/07 11:44
Località: Roma +o-

Re: [Excel] - Creare Pulsante che apre Oggetto Incorporato

Postdi alexlecter » 22/08/13 14:34

Ok appena sono a casa lo provo.. Però mi rendo pure conto che ho voluto semplificare di molto la descrizione del foglio Excel, in realtà è un insieme di una ventina di colonne. Giusto per fare un esempio pratico senza entrare nello specifico del mio lavoro è come se avessi una serie di righe e in ogni riga: (A1) casa1, (B1) stanza1, (C1) lunghezza della stanza, (D1) larghezza della stanza, (E1) numero di mobili ecc...ecc... Poi (A2) casa1, (B2) stanza2, (C2) lunghezza, (D2) larghezza, (E2) numero di mobili, ecc... ecc... Poi (A3) casa1, (B3) stanza3, (C3) lunghezza, (D3) larghezza, (E3) numero di mobili, ecc... ecc... Così per tutte le stanze, poi finite per esempio 10 stanze, si continua (A11) casa2, (B11) stanza1 e così via... Quindi quando io sono posizionato su una delle 10 caselle "casa1" si deve aprire il disegno della "casa1" che io ho inserito nel foglio 2 come oggetto e visualizzo come icona, però c'è sempre il discorso che tutti i disegni devono essere inseriti nel file Excel e essere sempre disponibili anche senza quelli di origine.
Spero di aver chiarito qualche altra cosa, ovviamente non era un semplice elenco in una colonna...
Alex
Win 7 + Office 2010
alexlecter
Newbie
 
Post: 8
Iscritto il: 22/08/13 04:37

Re: [Excel] - Creare Pulsante che apre Oggetto Incorporato

Postdi Flash30005 » 22/08/13 19:32

Non vedo controindicazioni a quanto inviato rispetto all'aumento delle colonne, è sufficiente implementare la macro.
Per quanto riguarda i disegni (suppongo immagini) possono essere ugualmente aperti (se disponibili in una cartella) o resi visibili se sono incorporati in Excel. Nella seconda ipotesi il file, contenendo forse centinaia di immagini fare "pesare" molto il file di Excel mentre, nel caso di file esterni il file è sicuramente più "leggero" e veloce nell'esecuzione.

C'è ancora qualcosa che non mi è chiaro quando dici
alexlecter ha scritto:si deve aprire il disegno della "casa1" che io ho inserito nel foglio 2 come oggetto e visualizzo come icona

Se è oggetto esterno o no.
Infine cosa c'entra word?

Ciao
Flash
Win10 + Office 2010 Ita
"Fotografica" al servizio dell'immagine
Avatar utente
Flash30005
Moderatore
 
Post: 8517
Iscritto il: 27/09/07 11:44
Località: Roma +o-

Re: [Excel] - Creare Pulsante che apre Oggetto Incorporato

Postdi alexlecter » 22/08/13 19:46

Allora, il file word è a volte un disegno incollato in un file word, a volte una tabella creata in word...è comunque un .doc...
Insomma in base a come dici tu devo fare un collegamento ogni cella che ha la scritta "casa1"...
Win 7 + Office 2010
alexlecter
Newbie
 
Post: 8
Iscritto il: 22/08/13 04:37

Re: [Excel] - Creare Pulsante che apre Oggetto Incorporato

Postdi Flash30005 » 22/08/13 20:55

Non devi fare nulla
solo un elenco iniziale nel foglio1
un elenco (tabella comparativa) nel foglio2
avere dei file word nella stessa cartella del file di Excel denominati secondo l'elenco del foglio2 di Excel
Ma se scompatti il mio archivio (test)
inserisci tutti i file nella stessa directory
avvii il file di Excel e clicchi in una cella della colonna A del foglio1
ti renderai conto della semplicità di esecuzione e dello "schema" dati.
Dopodiché possiamo implementare secondo l'esigenza

ciao
Flash
Win10 + Office 2010 Ita
"Fotografica" al servizio dell'immagine
Avatar utente
Flash30005
Moderatore
 
Post: 8517
Iscritto il: 27/09/07 11:44
Località: Roma +o-

Re: [Excel] - Creare Pulsante che apre Oggetto Incorporato

Postdi Anthony47 » 23/08/13 00:19

Credo che quanto suggerito da Flash sia una valida alternativa al processo descritto da alexlecter; questa macro potrebbe essere invece corrispondere all' attuazione del processo corrente:
Codice: Seleziona tutto
Private Sub CommandButton1_Click()
Dim DocName As String, StartSh As String
'
objSh = "Foglio3"    '<< Il foglio che contiene i documenti
'
DocName = Cells(Selection.Row, 1).Value
StartSh = ActiveSheet.Name
'
For Each obj In Sheets(objSh).OLEObjects
    If UCase(obj.Name) = UCase(DocName) Then
        Sheets(objSh).OLEObjects(DocName).Verb Verb:=xlOpen0
        Sheets(StartSh).Select: ActiveWindow.RangeSelection.Select
        Exit Sub
    End If
Next obj
MsgBox ("Il documento """ & DocName & """ non e' stato trovato")
End Sub

Il codice va associato al pulsante ActiveX (o da "Strumenti di controllo") con cui si vuole attivare l' apertura del file:
-inserire il pulsante (**)
-premi Visualizza codice del pulsante (**)
-inserire la macro nel foglio di codice che si aprira', usando al posto di CommandButton1 il vero nome del pulsante.
-personalizza l' istruzione marcata <<
Gli step marcati ** sono dipendenti dalla versione Excel in uso, quindi se hai bisogno di altre istruzioni in merito devi chiarire cosa usi (per come fare guarda il link nella mia firma).

Il foglio si aspetta di trovare in colonna A della riga selezionata del "foglio A" un valido nome di documento, che sia stato "integrato" oppure "linkato" nel foglio specificato (il "foglio B").
Pigiando il pulsante si cerchera' tra tutti i documenti contenuti nel foglio specificato quello con "quel" nome e lo aprira' usando il programma idoneo. Se nessun documento viene trovato verra' segnalato tramite messagebox.

Tocchera' a te, quando carichi un documento nel "foglio B", dargli lo stesso nome che inserirai in colonna A del "foglio A"; per questo, avendo selezionato l' icona del documento, bastera' andare nella "Casella Nome" (quella in genere a sinistra della barra della formula) e digitare un nuovo nome (in sostituzione di quello standard visualizzato, tipo "Oggetto1").

Prova e fai sapere.
Ciao
Avatar utente
Anthony47
Moderatore
 
Post: 19196
Iscritto il: 21/03/06 16:03
Località: Ivrea

Re: [Excel] - Creare Pulsante che apre Oggetto Incorporato

Postdi alexlecter » 23/08/13 05:34

Per flash: purtroppo ho l'esigenza di trasportare tutto in un unico file, senza avere file esterni pur essendo nella stessa cartella...
Per Anthony: scusa la domanda forse stupida, ma questi codici si possono usare anche in Excel per Mac?
Win 7 + Office 2010
alexlecter
Newbie
 
Post: 8
Iscritto il: 22/08/13 04:37

Re: [Excel] - Creare Pulsante che apre Oggetto Incorporato

Postdi Anthony47 » 23/08/13 21:48

Non conosco i vincoli di compatibilita' col mac, quindi dovrai collaudare sulla tua macchina.

Ciao
Avatar utente
Anthony47
Moderatore
 
Post: 19196
Iscritto il: 21/03/06 16:03
Località: Ivrea

Re: [Excel] - Creare Pulsante che apre Oggetto Incorporato

Postdi alexlecter » 24/08/13 08:53

Ho provato il file di test che mi ha proposto Flash e ho due problemi (intanto premetto che ho l'office 2010 così ci regoliamo di conseguenza) il primo è che appena clicco su disegno1 sembra che si apra il file .doc ma poi si chiude immediatamente, lo stesso per gli altri 3, mentre dal 4 in poi giustamente mi da errore, l'altro problema ancora più grosso è che non solo quando ci clicco ma anche quando mi posiziono sulla cella disegno1 si apre "subito" il file doc, questo mi porterebbe enormi problemi dato che io sono abituato a muovermi molto con la tastiera e praticamente ogni volta che passerei su una cella mi si aprirebbe il disegno (per favore non ditemi "e tu non ci passare sulla cella!").
Il famoso pulsante in un certo senso eviterebbe questo problema.
Win 7 + Office 2010
alexlecter
Newbie
 
Post: 8
Iscritto il: 22/08/13 04:37

Re: [Excel] - Creare Pulsante che apre Oggetto Incorporato

Postdi alexlecter » 24/08/13 08:55

Credo che Anthony abbia individuato la soluzione perfetta, almeno spero, perchè con quattro semplici file riesco a fare quello che volevo, vedremo poi se risulterà fattibile anche con il file excel bello grosso.
Volevo solo chiedere che differenza c'era tra Pulsante "normale" e Pulsante "ActiveX".
Win 7 + Office 2010
alexlecter
Newbie
 
Post: 8
Iscritto il: 22/08/13 04:37

Re: [Excel] - Creare Pulsante che apre Oggetto Incorporato

Postdi Flash30005 » 24/08/13 09:17

Il fatto che si apra e si chiuda il file word penso dipenda dalla diversa versione di word
come dicevo nel post precedente
Flash30005 ha scritto:Attenzione: se la tua versione di word è la 2003 dovrai creare tu stesso i 4 file word, nominarli come previsto e cambiare l'estensione nel foglio 2 di Excel in colonna B


Si può ovviare all'inconveniente del click inserendo la funzione del doppio click mouse
ma se hai risolto con la soluzione proposta Anthony, che è ottimale, trascurerò queste implementazioni

ciao
Flash
Win10 + Office 2010 Ita
"Fotografica" al servizio dell'immagine
Avatar utente
Flash30005
Moderatore
 
Post: 8517
Iscritto il: 27/09/07 11:44
Località: Roma +o-

Re: [Excel] - Creare Pulsante che apre Oggetto Incorporato

Postdi alexlecter » 24/08/13 09:39

Grazie comunque Flash sei stato di grande supporto.
Win 7 + Office 2010
alexlecter
Newbie
 
Post: 8
Iscritto il: 22/08/13 04:37

Re: [Excel] - Creare Pulsante che apre Oggetto Incorporato

Postdi Anthony47 » 24/08/13 13:02

Il pulsante "Modulo" e' un oggetto semplice e facilmente manipolabile; puo' avere collegata una sola macro. Il pulsante ActiveX e' un oggetto programmabile, sensibile a numerosi eventi (tra cui il "click"), caratterizzato da varie proprieta'; insomma e' piu' sofisticato e piu' stabile.

Ciao
Avatar utente
Anthony47
Moderatore
 
Post: 19196
Iscritto il: 21/03/06 16:03
Località: Ivrea


Torna a Applicazioni Office Windows


Topic correlati a "[Excel] - Creare Pulsante che apre Oggetto Incorporato":


Chi c’è in linea

Visitano il forum: Nessuno e 134 ospiti