Hej jag skulle vilja ha en cell i excel in i en textbox i VB, men kan inte få rätt på det. Har tittat i forumet och i Tips och trix men lyckas inte. Antingen kan du göra så här: http://www.pellesoft.nu/login/articles/asp/adoxls.asp eller så kan du använda dig av DDE. Gör så här: Jag har lite kommentarer och förslag: Javisst, så måste man göra om cellen i Excel innehåller en formel. Tänkte inte på det. Kanon, ni är så bra Kika på DDE och egenskaperna LinkMode, LinkTopic och LinkItem. Det är en äldre teknik. Men den fungerar, för det mesta.<br> Funkade, det uppdaterades men det som visas i text1 är A1 och inte det som jag har skrivit innan Du ändrar LinkItem till den cell du vill ha. R1 strår för row 1 och C1 för column 1.Excel till VB
Min fil heter Aktier.xls och jag vill få in en cell till mitt VB program. Någon som kan hjälpa mig.
AndersSv: Excel till VB
/ PeterSv: Excel till VB
' För att komma Excel från VB måste man sätta en referens till Excels
' klassbibliotek. Detta gör man genom att i VB klicka för Microsoft Excel 9.0
' Object library under Project->References.
' Skapa handtag till Excel (måste alltid göras först)
Dim xlsSheet As Excel.Application
' Använd sedan det handtaget för resterande referenser till Excel.
' Öppna Excel
Set xlsSheet = CreateObject("Excel.Application")
' Öppna fil och välj arbetsblad
Dim strFil As String
strFil = "<sökväg till Excel-filen>" & "\Aktier.xls"
xlsSheet.Workbooks.Open (strFil)
xlsSheet.Sheets("Blad1").Select ' Namnet på arbetsbladet
' Läs innehållet i en cell
Text1.Text = xlsSheet.Cells(5, 3).FormulaR1C1 ' Radnmmr, kolumnnummer
' Stäng arbetsboken
xlsSheet.Workbooks("Aktier.xls").Close
' Stänga Excel och döda handtaget (glöm INTE detta!)
xlsSheet.Quit
Set xlsSheet = Nothing
//Lennart Sv: Excel till VB
<code>
' För att komma Excel från VB måste man sätta en referens till Excels
' klassbibliotek. Detta gör man genom att i VB klicka för Microsoft Excel 9.0
' Object library under Project->References.
Dim AppExcel As Excel.Application ' Deklarera en variabel för att hålla en referens till Excel objektet
Dim strFil As String ' Deklarerar variable för sökväg och
Dim WoorkBook As Excel.Workbook ' Deklarerar en variable för din workbook.
Dim WoorkSheet As Excel.Worksheet ' Deklarerar en variabel för bladet i din workbook.
' Skapar en instans a en Excel applikation(Öppnar excel).
Set AppExcel = CreateObject("Excel.Application")
' Tilldelar varabeln en sträng.
strFil = "c:\Test.xls"
' Öppna den och tilldelar den till variabeln.
Set WoorkBook = AppExcel.Workbooks.Open(strFil)
' Hämtar en referens till Blad1 i din workbook tilldelar den till variabel.
Set WoorkSheet = WoorkBook.Sheets("Blad1")
' Hämtar formel från Radnummer, kolumnnummer
Text1.Text = WoorkSheet.Cells(5, 3).FormulaR1C1
' Hämtar värde med cellrefrens
Text2.Text = WoorkSheet.Range("A5").Value
' Frigör referens till worksheet
Set WoorkSheet = Nothing
' Stäng arbetsboken och frigör referens
WoorkBook.Close
Set WoorkBook = Nothing
' Stänga Excel och frigör referens
AppExcel.Quit
Set AppExcel = Nothing
</code>Sv: Excel till VB
//Lennart Sv: Excel till VB
Fick dock ett litet problem, mitt excel ark uppdateras typ varje sekund, hur kan jag få min text1 och text2 att också göra det
AndersSv: Excel till VB
<br>
Här är ett exempel från MSDN:
<code>
Private Sub Form_Load()
Text1.LinkMode = vbLinkNone ' Make sure the link isn't active.
Text1.LinkTopic = "Excel|Sheet1" ' Set the application name and topic name.
Text1.LinkItem = "R1C1" ' Set LinkItem.
Text1.LinkMode = VbLinkAutomatic ' Set LinkMode to Automatic.
End Sub
</code>Sv: Excel till VB
Text1.Text = WoorkSheet.Cells(5, 3).FormulaR1C1
Hur gör jag för att få den cellen jag vill, har använt koden ovanför bara.
AndersSv: Excel till VB
Så du kan ju prova med
Text1.LinkItem = "R5C3"
Ellse
Text1.LinkItem = "R3C5"