Stránka 1 z 1

Excel VBA - GetObject  Vyřešeno

Napsal: 11 bře 2019 14:53
od Grimm
Ahoj, měl bych otázku na někoho znalejšího, protože už mi dochází nápady.
Dostal jsem od známého požadavek na zápis dat do souboru excelu (Souhrn.xlsm) bez jeho "viditelného" otevření.
Jelikož mám zkušenosti s opačným postupem, tedy získání dat z takto otevřených sešitů, říkám si pohoda.
Otevření provedu přes GetObject, zapíšu data, uložím a zavřu soubor.

Problém je, že soubor poté nelze otevřít, nebo lépe řečeno se otevře "prázdný" excel bez viditelného listu (soubor obsahuje pouze jeden) a není zobrazen název souboru (Souhrn.xlsm), alej jen Excel viz obr

Pokud soubor otevřu přes workbooks.open není žádný problém a vše funguje jak má.

Kód: Vybrat vše

Sub PrenosDat()
Dim wbEvidence As Workbook
Dim arrData()
Dim MaxRadek As Long

arrData = List1.Cells(1, 1).Resize(, 5).Value

Set wbEvidence = GetObject("F:\Souhrn.xlsm") 'Workbooks.Open("F:\Souhrn.xlsm")
With wbEvidence
        With .Worksheets("List1")
            MaxRadek = .Cells(Rows.Count, 1).End(xlUp).Row
                       .Cells(MaxRadek + 1, 1).Resize(, 5).Value = arrData
        End With
    .Save
    .Close
End With

Set wbEvidence = Nothing
Erase arrData
End Sub

Máte někto tip jak z toho ven?
Díky

Re: Excel VBA - GetObject

Napsal: 11 bře 2019 15:57
od Uziv00
Zkus vbs.
Set objExcel = CreateObject("Excel.Application")
Set objWorkbook = objExcel.WorkBooks.Open...

Re: Excel VBA - GetObject

Napsal: 11 bře 2019 16:09
od Grimm
Bingo !!!
Funguje, díky moc.

Re: Excel VBA - GetObject

Napsal: 11 bře 2019 16:12
od Uziv00
Rádo se stalo :-)
Označ téma jako vyřešené (zelené zatržítko).