Ukládání dat z textboxů do listu MS Office   otázka

VB.NET

Dobrý den,

jakožto absolutní začátečník Vás prosím o radu.

Tvořím si prográmek na porovnávání naměřených dat ,potřeboval bych postup a nebo navést jak ukládat data zobrazená (programem naměřená) v jednotlivých textboxech do jednoho listu v excelu.

Postupoval jsem dle přibližného návodu na

http://support.microsoft.com/kb/306022/c...

ale program mi otevře několik listů najednou takže to asi není ta nejlepší cesta k úspěchu a nebo někde dělám chybu (jako obvykle).

Dále bych chtěl poznamenat ,že naměřená data ,tedy ta v textboxech se zobrazující ,se po stisku akčního buttonu změní ,proto se ptám jde nastavit aby to ukládání bylo prováděno průběžně?

Děkuji za případné tipy a rady.

nahlásit spamnahlásit spam 0 odpovědětodpovědět

Hoďte sem kód toho ukládání, takto není v čem hledat chybu.

Možná zvažte jestli není lepší ukládat data jako .csv, je to univerzální a excel si s tím také poradí. (a je to nejspíš lehčí na naprogramování)

Jestli chcete aby se uložila po stisku buttonu, tak zavolejte uložení v metodě při stisku.

Jestli chcete, aby se ukládaly při změně txtboxu, bez mačkání tlačítka. Tak si nastavte tectchange event v textboxu..

Děláte to ve formech, nebo ve wpf?

nahlásit spamnahlásit spam 0 odpovědětodpovědět

Odpovím jen zběžně protože píšu z jiného pc.

Dělám jen ve formech ,volání uložení oněch dat po určité akci není problém to zvládnu.

A co se týče kódu zkoušel jsem přesně ten co je uveden v odkazu ,samozřejmě po úpravě pro odpovídající počet textboxů ,ale jak jsem psal výše neotevírá pouze jeden sešit nýbrž mnoho.

Vím momentálně se bez přímé formulace v mém kódu asi nepohneme ,ale mám to v druhém PC a dostanu se k něj až zítra tak to sem pak hodím.

Prozatím ,jak by jste to napsal Vy v případě ,že máte např. 5 txtboxů a z každého potřebujete uložit do listu excelu aktuální hodnoty?

Jinak prozatím děkuji za Váš čas a Vaši odpověď

nahlásit spamnahlásit spam 0 odpovědětodpovědět

proč to teda rovnou neukládáte do sešitu? Na co děláte k jednoduché věci složité řešení? :-) můžete využít i VBA

nahlásit spamnahlásit spam 0 odpovědětodpovědět

Však o to se očividně snaží ,ale zřejmě neví jak na to a proto se ptá zde.Chce to více číst :-D

nahlásit spamnahlásit spam 0 odpovědětodpovědět

A který postup z návodu je vlastně použit?

Otevíráte sešit přes CreateObject a zapisujete do buněk, pak se otevřou všechny listy sešitu, na tom není nic divného. Použijete-li ADO, pak budete zapisovat do konkrétního listu. Nebo jak bylo doporučeno ukládat data např. do csv, které otevřít v excelu, vyhnete se také rozdílům v ovladačích pro různé verze souboru při práci v různých verzích office a windows. Záleží jde-li zápis do konkrétního souboru nebo nového souboru a co se s tím v excelu bude dít dále, budou se data aktualizovat neb jen jednorázově plnit, těžko říct bez upřesnění či kusu kódu, jak již bylo také uvedeno výše.

nahlásit spamnahlásit spam 0 odpovědětodpovědět

Berte mne prosím s rezervou ,jsem absolutní začátečník....

Prozatím postupuji takto:

        Dim oExcel As Object
        Dim oBook As Object
        Dim oSheet As Object

        oExcel = CreateObject("Excel.Application")
        oBook = oExcel.Workbooks.Add

        Dim DataArray(99999, 10) As Object
        Dim r As Double
        For r = 0 To 99
            DataArray(r, 0) = TextBox1.Text
            DataArray(r, 1) = TextBox2.Text
            DataArray(r, 2) = TextBox3.Text
        Next

        oSheet = oBook.Worksheets(1)
        oSheet.Range("A1").Value = "Kilometr"
        oSheet.Range("B1").Value = "Výška dle APK"
        oSheet.Range("C1").Value = "Výška dle ASP"

        oSheet.Range("A2").Resize(100, 3).Value = DataArray

        oSheet = Nothing
        oBook = Nothing
        oExcel = Nothing
        GC.Collect()

Prozatím mi to pouze kopíruje do sešitu obsah uvedených textboxů ,kterých bude více než je uvedeno v tomto zkušebním kódu.

Dále pokračuji v bádání jak zařídit aby "excel" uložil a nebo jen vepsal do sešitu každou změnu v textboxech a nebo což bude asi průchodnější navázat uložení na stisk tlačítka

nahlásit spamnahlásit spam 0 odpovědětodpovědět

no myslel jsem na co tvořit program když hodnoty můžeš napsat do excelu rovnou... pokud je to sw třetí strany který něco měří a pán to chce dostat do excelu tak je to na nějaký tutorial ne na radu z fora

nahlásit spamnahlásit spam 0 odpovědětodpovědět
                       
Nadpis:
Antispam: Komu se občas házejí perly?
Příspěvek bude publikován pod identitou   anonym.
  • Administrátoři si vyhrazují právo komentáře upravovat či mazat bez udání důvodu.
    Mazány budou zejména komentáře obsahující vulgarity nebo porušující pravidla publikování.
  • Pokud nejste zaregistrováni, Vaše IP adresa bude zveřejněna. Pokud s tímto nesouhlasíte, příspěvek neodesílejte.

přihlásit pomocí externího účtu

přihlásit pomocí jména a hesla

Uživatel:
Heslo:

zapomenuté heslo

 

založit nový uživatelský účet

zaregistrujte se

 
zavřít

Nahlásit spam

Opravdu chcete tento příspěvek nahlásit pro porušování pravidel fóra?

Nahlásit Zrušit

Chyba

zavřít

feedback