• This site uses cookies. By continuing to use this site, you are agreeing to our use of cookies. Leggi altro.

Prendere valore da file Excel tramite vba di AutoCAD

Pombia

Utente poco attivo
Professione: Geometra
Software: Autocad
Regione: Piemonte
#1
Ciao a tutti, leggendo un po di forum su questa tematica non sono riuscita a trovare una soluzione a questa problema.

Avendo questo codice:
Dim Reg As AcadText
Dim textreg As String
Dim IP(0 To 2) As Double
Dim X As Double, Y As Double, Z As Double, rot As Double

textreg = regionetext.Text
X = 2.875
Y = 10.4
Z = 0
IP(0) = X: IP(1) = Y: IP(2) = Z

Set Reg = ThisDrawing.ModelSpace.AddText(textreg, IP, 0.2)
Reg.Layer = 0
Reg.color = acByLayer
Reg.Alignment = acAlignmentCenter
Reg.TextAlignmentPoint = IP
Vorrei che il textreg = venisse prelevato da una cella di un file excel esterno al dgw e non dalla casella di testo che ho inserito nella userform.

Qualcuno mi puo aiutare?
 

rpor66

Utente Standard
Professione: Programmatore
Software: AutoCad, GstarCAD, CadWorx, Excel, Lisp, VBA
Regione: Sicilia
#2
Dim ExcelSheet As Object
Dim Filename As String

Filename = "c:\TuoFile.xls"
Set ExcelSheet = GetObject(Filename)

ExcelSheet.Application.Visible = True
Cell = ExcelSheet.Application.cells(1, 1)

Cell contiene il valore della cella A1

Buon divertimento
 

Pombia

Utente poco attivo
Professione: Geometra
Software: Autocad
Regione: Piemonte
#3
Ancora problemi, avendo aggiunto il codice non mi fuziona lo stesso.

altre soluzioni?
 

rpor66

Utente Standard
Professione: Programmatore
Software: AutoCad, GstarCAD, CadWorx, Excel, Lisp, VBA
Regione: Sicilia
#4
Il dvb contiene una funzione che legge una cella di excel descritta da NomeFile, riga e colonna.
Verifica in vba, tools/references deve fare riferimento alla versione di excel in uso.
Cattura.JPG

Se hai problemi, chiedi.
Bye
 

Allegati

Pombia

Utente poco attivo
Professione: Geometra
Software: Autocad
Regione: Piemonte
#5
Ho risolto utilizzando un'altro codice e attivando la references. Grazie dell'aiuto, ho problemi perche sono alle prime armi :)
 

rpor66

Utente Standard
Professione: Programmatore
Software: AutoCad, GstarCAD, CadWorx, Excel, Lisp, VBA
Regione: Sicilia
#6
A seguito richiesta, posto un esempio di richiamo della funzione vlookup in excel

Sub TestVlookup()

Dim Prova As String
Dim obXLS As Object
Dim wkFile As Workbook
Dim shFile As Worksheet

Set obXLS = GetObject(, "Excel.Application")

obXLS.Application.Visible = True

Set wkFile = obXLS.ActiveWorkbook
Set shFile = wkFile.ActiveSheet
'Set shFile = wkFile.Worksheets(ComboBox1.Text)

Prova = wkFile.Application.WorksheetFunction.vlookup("c", shFile.Range("F1:G8"), 2, False)
'Prova = shFile.Application.WorksheetFunction.vlookup(ListBox2.List(x), shFile.Range(L9, L28), 3, False)

MsgBox Prova

End Sub

p.s.: per Pombia
Le parti in blu contengono le tue impostazioni, fai lo swap.
Bye