Vai al contenuto
PLC Forum


Vb6 Con Excel - copiare il valore di una cella in altra tra 2 file diversi


STEU

Messaggi consigliati

Salve , chiedo ancora aiuto agli esperti di VB6.

Qualcuno sa come posso copiare il valore della cella A1 del file pippo.xls alla cella a1 del file pluto.xls. tramite un programma in VB6 esterno.

I post precedenti che mi hanno aiutato moltissimo funzionano solo all'interno di uno stesso file di excel.

Il mio problema,credo, è quello che non riesco a creare all'interno del mio progetto in vb6 2 oggetti diversi della stessa applicazione di microsoft excel.

Grazie in anticipo.

Modificato: da STEU
Link al commento
Condividi su altri siti


Chiedo scusa se la mia domanda è banale:

perchè queste righe di programma qua sotto non mi copiano la cella A1 di pippo nella casella A1 di pluto?

Option Explicit
Dim XLObj As Object
Dim newobj As Object

Public Sub copia()

Set XLObj = CreateObject("Excel.Sheet")
Set newobj = CreateObject("Excel.Sheet")

XLObj.Application.Workbooks.Open "c:\temp\pluto.xls"
newobj.Application.Workbooks.Open "c:\temp\pippo.xls"

XLObj.Application.worksheets("Foglio1").range("A1").Value = newobj.Application.worksheets("Foglio1").range("A1").Value

XLObj.Application.activeworkbook.save
newobj.Application.activeworkbook.save

Set XLObj = Nothing
Set newobj = Nothing
End Sub

Credo ci sia un errore mio di concetto , che mi sfugge.

Link al commento
Condividi su altri siti

Private Sub Command1_Click()

Set XLObj = CreateObject("Excel.Sheet")

Set Nuovo = CreateObject("Excel.Sheet")

XLObj.Application.Workbooks.Open "c:\vecchio.xls"

dato1 = XLObj.Application.Worksheets("Foglio1").range("A1")

MsgBox (dato1)

Nuovo.Application.Workbooks.Open "c:\nuovo.xls"

dato2 = Nuovo.Application.Worksheets("Foglio1").range("A1")

'copia in pluto contenuto di pippo

MsgBox (dato2)

Nuovo.Application.Worksheets(1).range("A1").Value = dato1

XLObj.Application.activeworkbook.save

Nuovo.Application.activeworkbook.save

Set XLObj = Nothing

Set newobj = Nothing

End Sub

Modulo

Dim XLObj As Object

Dim newobj As Object

Link al commento
Condividi su altri siti

irpuck

grazie della risposta.

Ma sai spiegarmi se scrivo così è sbagliato?

Private Sub Command1_Click()

Set XLObj = CreateObject("Excel.Sheet")
Set Nuovo = CreateObject("Excel.Sheet")

XLObj.Application.Workbooks.Open "c:\vecchio.xls"
Nuovo.Application.Workbooks.Open "c:\nuovo.xls"
dato1 = XLObj.Application.Worksheets("Foglio1").range("A1")
MsgBox (dato1)

dato2 = Nuovo.Application.Worksheets("Foglio1").range("A1")
'copia in pluto contenuto di pippo
MsgBox (dato2)
Nuovo.Application.Worksheets(1).range("A1").Value = dato1
 etc

XLobj e Nuovo non sono oggetti differenti?

Link al commento
Condividi su altri siti

Crea un account o accedi per commentare

Devi essere un utente per poter lasciare un commento

Crea un account

Registrati per un nuovo account nella nostra comunità. è facile!

Registra un nuovo account

Accedi

Hai già un account? Accedi qui.

Accedi ora
×
×
  • Crea nuovo/a...