Přeskočit navigaci | Přeskočit na novinky

Nový videokurz na Seduo: Excel pro začátečníky

     

Jste zde: Úvodní stránka » excel » vba-soubory » exce-vba-otevrit-soubor-predat-parametr

Otevřít soubor a předat mu nějaký parametr - Excel VBA


Otevřít zvolený soubor a předat mu nějaký parametr(y)

Úvodem

Potřebujeme pomoci VBA v Excelu otevřít soubor a předat mu nějaké informace, například vypočtené hodnoty. Jak na to se dozvíte v tomto článku. Včetně kontroly, tak abychom neotevírali druhý soubor pod stejným názvem.

VBA kód

Otevření souboru jsem již popisoval, ale připomenutí nezaškodí.

Workbooks.Open Filename:="OteviranySoubor.xls" ActiveWorkbook.Worksheets("List1").Cells(1, 1).Value = "10"

Poznámka: Kód nekontroluje, zda již není soubor pod stejným názvem otevřen.

Je sešit otevřen - VBA kód

Následujícím kódem lze zkontrolovat otevřenost sešitu stejného jména

Set Sesit = Workbooks("OteviranySoubor.xls") sesitOtevren = Not Sesit Is Nothing If sesitOtevren = True Then MsgBox "Máte otevren soubor s názvem OteviranySoubor.xls - zavřete jej." Else MsgBox "Otevřu soubor OteviranySoubor.xls." Workbooks.Open Filename:="OteviranySoubor.xls" ActiveWorkbook.Worksheets("List1").Cells(1, 1).Value = "10" End If

Závěrem

V kódech nejsou deklarace proměnných, jelikož slouží jako ukázkový příklad.

Článek byl aktualizován: 01.11.2014 14:33

Odměna

Ušetřil vám tento web čas, peníze? Pomohl vyřešit problém? Jste ochotni poskytnout symbolickou odměnu na další rozvoj? Vybrte si formu odměny, která vám vyhovuje.


Pavel Lasák

Pavel Lasák - autor webu

Microsoft Office (Word, Excel, PowerPoint) se věnuji od roku 2006. Své vědomosti a zkušenosti dávám k dispozici na různých školeních a konzultacích, ale také na tomto webu. K dispozici na tomto webu je mnoho návodu, tipů a triků včetně desítek různých šablon.

   Pavel Lasák LinkedIn Profil    Pavel Lasák Google+ Profil    Pavel Lasák facebook Profil    Pavel Lasák twitter Profil

Doporučte tento článek přátelům

Pokud vám článek pomohl, případně si myslíte, že může pomoci i někomu dalšímu, budu rád když jej sdílením doporučíte přátelům - děkuji:



Komentáře


vpesa

Přidáno: 12.08.14 13:59

Vyplňuji tabulku a v každém sloupci kontroluji data. Některé sloupce jsou vyplněny automaticky výpočtem zjiných sloupců. Výslednou tabulku překopíruji do dalšího listu, už bez zálaví, jen data. Tato data resp. list potřebuji uložit do csv souboru, který slouží jako zdroj dat pro automat. Makro csv soubor uloží ale po uložení csv souboru se přejmenuje jak původní sešit tak příslušný list. Tím přestane tento editor fungovat. Co s tím? Díky

Pavel Lasák

Přidáno: 13.08.14 20:11

To vpesa: Využít metodu SaveAs http://office.lasakovi.com/excel/vba-soubory/SaveAs-metoda-ulozit-jako/

vpesa

Přidáno: 20.08.14 15:34

pokusím se to lépe vysvětlit: Mam otevřen soubor "zadani syntezy" a na listu stejného jména vyplňuji tabulku. Na listu "data" jsou pomocí odkazů již jenom data bez hlavičky. Tato data uložím: ActiveWorkbook.Sheets("Data").Select ActiveWorkbook.SaveAs Filename:"data12", FileFormat:=xlCSV, Local:=True V tomto okamžiku již nemam otevřen soubor "zadani syntezy" ale soubor "data12",který má dva listy "zadani syntezy" a "data12".Další řádky makra jsou vykonávány z tohoto souboru. Jediná možnost jak se vrátit k původnímu souboru, která mě napadá je přes uzavření aplikace a to není ono. Možná je nutné použít formuláře?

Lucie

Přidáno: 03.12.15 15:57

Dobrý den, nepovedlo se mi najít nic k níže uvedenému problému, pokud by se Vám povedlo odpovědět nebo alespoń odkázat, budu moc vděčná Mám tu makro na otevření souborů z určité složky a překopírování buňky do listu...... Respektive, mám formuláře (desítky), ze kterých potřebuju určité informace dostat do řádku, např. z každého formuláře buňku A5,B10 a C20 dostat do jednoho řádku. Tento kod mi zkopiruje bunku A5 ze vsech formularu do jednoho sloupce. Nevim, jak pokracovat s bunkou B10 (abys se objevila navazne ve druhem sloupci) a jak pak zavrit vsechny soubory, ktere si excel k praci otevrel. Sub Otevrit_vsechny_soubory() Slozka = ActiveWorkbook.Path soubor = Dir(Slozka & "\*.xlsx") Do While soubor <> "" Or soubor = "otevrit.xlsm" Workbooks.Open Filename:=Slozka & "\" & soubor Range("A5").Copy Windows("otevrit.xlsm").Activate ActiveCell.PasteSpecial ActiveCell.Offset(1, 0).Select soubor = Dir() Loop End Sub

jose

Přidáno: 17.03.16 10:06

v xls potřebuji otevří soubor typu "JPEG". Můžete poradit jaký je postup ve VBA?







Sdílejte

Pomohl Vám návod?
Sdílejte na Facebooku, G+
LinkedIn...

Nové články

25.03.2017:
ROUNDUP, ROUNDDOWN - zaokrouhlování

07.04.2017:
Řazení Excel - bug - problém

09.04.2017:
Podmínkové funkce Excel - bug - problém


Newsletter

Přihlaste se odběru novinek a získejte:
Ebook zdarma -
10 kroků ke zvládnutí (Word, Excel, PowerPoint)
Šipka Kniha 3D Více o ebooku ...

TOPlist Licence Creative Commons webarchiv rss XML

Stránky o MS Office (Excel) produktu společnosti Microsoft. Neslouží jako technická podpora.
| Email na autora: pavel.lasak@gmail.com | Copyright © : Pavel Lasák 2004 - 2017 | 18049

Tento web zatím neprošel jazykovou korekturou. Beta verze redakčního systému.