Kirjautuminen

Haku

Tehtävät

Keskustelu: Ohjelmointikysymykset: VBA: VB + laskentataulukko

joonasa [26.08.2007 12:59:48]

#

Eli mulla on Visual Basic "lomake" joka sisältää seuraavat:
2 x textbox. Nimeltään etunimi ja sukunimi
1 x nappi. Nimeltään lähetä

Niin minkä lainen koodi pitää laittaa että se ns. aukaisisi OpenOffise laskentataulukon tai MS Excelin ja tallentaisi sinne textboxin sisältämät tekstit tiettyihin soluihin. esimerkiksi enimen B2 ja snimen B3

Vai onko tämä ylipäätänsä mahdollista :-)

Antti Laaksonen [26.08.2007 13:43:16]

#

Ainakin yksi tapa on kirjoittaa tiedot väliaikaiseen tiedostoon ja avata tiedosto Excelillä. Tässä käytetään CSV-tiedostoa, jossa yksi tiedoston rivi on yksi Excelin rivi ja sarakkeet erotetaan puolipisteillä.

Private Declare Function ShellExecute Lib "shell32.dll" Alias "ShellExecuteA" (ByVal hwnd As Long, ByVal lpOperation As String, ByVal lpFile As String, ByVal lpParameters As String, ByVal lpDirectory As String, ByVal nShowCmd As Long) As Long

Private Sub lähetä_Click()
    Open "c:\exceliin.csv" For Output As #1
    Print #1, ""
    Print #1, ";" & etunimi
    Print #1, ";" & sukunimi
    Close #1
    ShellExecute 0, vbNullString, "excel", "c:\exceliin.csv", vbNullString, vbNormalFocus
End Sub

Hycke [27.08.2007 11:18:11]

#

Excelin saa avattua jotenkin tähän tyyliin(ei testattu)

Sub AvaaExcel()

            Dim xlApp As New Excel.Application
            Dim xlBook As New Excel.Workbook
            Dim xlSheet As New Excel.Worksheet
            Set xlApp = CreateObject("excel.application")
            Set xlBook = xlApp.Workbooks.Add
            Set xlSheet = xlBook.Worksheets(1)
            xlSheet.Range("B2").Value = tbEtunimi.Text
            xlSheet.Range("B3").Value = tbSukunimi.Text
            xlApp.WindowState = xlNormal
            xlApp.Visible = True

End Sub

Vastaus

Aihe on jo aika vanha, joten et voi enää vastata siihen.

Tietoa sivustosta