|
|||||||
|
|
|
![]() |
|
|
Strumenti |
|
|
#1 |
|
Senior Member
Iscritto dal: Jul 2007
Messaggi: 1092
|
[vba excel] copiare contenuto variabile nella clipboard
Ciao a tutti. Come da titolo avrei la necessità di copiare il contenuto di una variabile all'interno della clipboard. Ho già fatto le mie ricerche in rete e ho trovato suggerito questo codice
Set mydata = New DataObject mydata.SetText STRINGA mydata.PutInClipboard che ho integrato nel mio in questo modo. In pratica ho semplicemente concatenato una serie di indirizzi mail. Ora però vorrei poter accedere a tale variabile. Codice:
Sub concatena()
Set mydata = New DataObject
Dim mail As String
mail = ""
For i = 2 To 51
mail = mail & ActiveSheet.Range("c" & i).Value & "; "
Next i
MsgBox (mail)
mydata.SetText mail
mydata.PutInClipboard
End Sub
Premetto che i riferimenti che ho sono i seguenti: Visual Basic for Applications Microsoft Excel 10.0 Object Library Ole Automation Microsoft Office 10.0 Object Library Microsoft ActiveX Data Objects 2.8 Library. Ho anche provato a invertire l'ordine dei riferimenti ma nulla è cambiato. Grazie per l'attenzione. |
|
|
|
|
|
#2 |
|
Senior Member
Iscritto dal: Jul 2007
Messaggi: 1092
|
Per il momento ho aggirato il problema trasformando la sub in una function, eseguendola nella finestra immediata e recuperando così la mia stringa.
Mi farebbe comunque piacere capire il perchè dell'errore. |
|
|
|
|
|
#3 |
|
Senior Member
Iscritto dal: Jul 2007
Messaggi: 1092
|
|
|
|
|
|
|
#4 |
|
Senior Member
Iscritto dal: Dec 2004
Messaggi: 3210
|
Infatti quello è il metodo giusto.
Il motivo dell'errore è dovuto al fatto che non hai referenziato la Libreria : Microsoft Forms 2.0 Object Library o Microsoft Forms 1.x Object Library Se infatti cerchi "PutInClipboard" nel Visualizzatore Oggetti VBA, scoprirai che la classe DataObject che espone quel metodo, appartiene proprio alla Libreria MSForms. |
|
|
|
|
|
#5 |
|
Senior Member
Iscritto dal: Jul 2007
Messaggi: 1092
|
Ciao Marco. Come va?
Grazie per la risposta. Purtroppo se scorro la lista dei riferimenti quello da te indicato non è presente. Utilizzo Office XP. Come posso fare per aggiungerlo? P.S. Grazie anche per il codice relativo agli orari dei corsi. Non ho ancora trovato il tempo di studiarmelo bene. |
|
|
|
|
|
#6 | |
|
Senior Member
Iscritto dal: Dec 2004
Messaggi: 3210
|
Quote:
A me in Excel 2003 è bastato mettere in un Foglio la tua routine ed è andato a prendersi il riferimento da solo... Se puoi passa a 2003. |
|
|
|
|
|
|
#7 |
|
Senior Member
Iscritto dal: Jul 2007
Messaggi: 1092
|
Allora, in ufficio ho ricontrollato con attenzione e la libreria Microsoft Forms è assente. Nel pc di casa è presente. Ho su entrambi i PC la versione XP di Office. Sul computer di casa ho installato questa versione proprio per ragioni di compatibilità con le cose che poi dovrò usare a lavoro. Magari la libreria è il residuo di una precedente installazione di visual basic 6 o di office 2003 che precedentemente utilizzavo.
Comunque avevi ragione (come al solito Ciao Marco e grazie come sempre. |
|
|
|
|
| Strumenti | |
|
|
Tutti gli orari sono GMT +1. Ora sono le: 00:48.




















