Otevření Workbooku z VBA

0
0

Dobrý den, potřeboval bych prosím poradit, jestli při otevírání nového sešitu z kódu VBA lze tento nastavit jako neviditelný. Potřebuji zkopírovat data z listu do jiného sešitu, ale tak aby ten sešit odkud kopíruji zůstal neviditelný a po ukončení kopírování se zase zavřel. To samé potom v opačném pořadí - z otevřeného sešitu nakopírovat data do listu neviditelného sešitu. První se mi podařilo přes vytvoření datového připojení - sešit se neotevře ale data jdou, ale s tím druhým směrem si nevím rady.

Děkuji - Faltýnek.

Marked as spam
Odeslal Anonymous
Otázka položena 24.9.2018 12:17
19 views
0
Private answer

Teoreticky změnou vlastnosti IsAddin pro ThisWorkbook na True. Ale je to nepraktické, pomalé, hloupé. Existuje smysluplnější cesta – přístup přes GetObject.

Marked as spam
Odeslal xlnc
Odpověděl 24.9.2018 14:49
0
Private answer

Díky za tip.
jak přesně má fungovat připojení na data? Nějak mi to pořád načítá stená data z vedlejší excelovské tabulky, i když v ní něco změním. Připojení dělám v listě tlačítkem. Jsem z toho jelen, vypadá to, jako by si Excel ta data někde uložil a kašlal na změny ve zdrojové tabulce.
Dovolím si uvést kód viz níže. Vyvolá Userform, připojí se datově na list1 souboru DBzakaznici.xls, překopíruje je do listu „Zak“ volajícího souboru. Na formuláři je pak navázané kombo, kde jsou v seznamu zákazníci. Po ukončení formuláře by se mělo zrušit datové připojení. Ale asi to funguje nějak jinak.
cestazak = ThisWorkbook.Sheets(„servis“).Cells(25, 2)
Worksheets(„Zak“).Rows(„2:1010“).Delete
‚On Error Resume Next
With Worksheets(„Zak“).ListObjects.Add(SourceType:=0, Source:= _
„ODBC;DSN=Excel Files;DBQ=“ + cestazak + „;DriverId=1046;MaxBufferSize=2048;PageTimeout=5;“ _
, Destination:=Worksheets(„Zak“).Range(„$A$2“)).QueryTable
.CommandText = Array( _
„SELECT `List1$`.Firma, `List1$`.Ulice, `List1$`.PSC, `List1$`.Obec, `List1$`.kontakt, `List1$`.telefon, `List1$`.fax, `List1$`.`e-mail`, `List1$`.ičo, `List1$`.dič“ & Chr(13) & „“ & Chr(10) & „FROM `D:aklfirmyDBzakaznici.x“ _
, „ls`.`List1$` `List1$`“ & Chr(13) & „“ & Chr(10) & „ORDER BY `List1$`.Firma“)
.RowNumbers = False
.FillAdjacentFormulas = False
.PreserveFormatting = True
.RefreshOnFileOpen = False
.BackgroundQuery = True
.RefreshStyle = xlInsertDeleteCells
.SavePassword = False
.SaveData = True
.AdjustColumnWidth = True
.RefreshPeriod = 0
.PreserveColumnInfo = True
.ListObject.DisplayName = „z_Excel_Files“
.Refresh BackgroundQuery:=False
End With
Worksheets(„Zak“).Cells(1, 1).FormulaR1C1 = „=COUNTA(R[2]C:R[1002]C)“
frmVstupy.Show
ActiveWorkbook.Connections(1).Delete

Marked as spam
Odeslal Anonymous
Odpověděl 25.9.2018 8:57
0
Private answer

Omlouvám, za rozsáhlý dotaz, přehlédl jsem, že v kódu je za FROM napevno v dotazu cesta na soubor.
Faltýnek

Marked as spam
Odeslal Anonymous
Odpověděl 25.9.2018 9:02

Odešlete svou odpověď

Attach YouTube/Vimeo clip putting the URL in brackets: [https://youtu.be/Zkdf3kaso]