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

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

Videokurzy Excel

Ve spolupráci se SEDUO jsem vytvořil několik videokurzů:

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 - autor webu

Pavel Lasák

Microsoft Office (Word, Excel, PowerPoint) se věnuji od roku 2000 (od 2004 ne této doméně) - Roku 2017 jsem od Microsoft získal prestižní ocenění MVP (zatím jsem jediný z ČR v kategorií Excel). Své vědomosti a zkušenosti dávám k dispozici také na on-line videích pro SEDUO. Školím a konzultuji, učím na MUNI. Hlavně tvořím tento web. Je zde k dispozici přes 1.000 návodu, tipů a triků včetně stovek různých šablon, sešitů.

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


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


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 | 19661

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