Terve,
olen tehnyt Excelillä pienen sovelluksen jonka ympärillä pyörii kolme Excel-tiedostoa. Ensimmäinen näistä olkoon vaikkapa Master.xls (jota kutsun myöhemmin ohjelmaksi), toinen Mallipohja.xlt ja kolmas Lomake.xls.
Ohjelma, eli Master.xls, sisältää pelkkää koodia ja taulukossa tiedon siitä mistä polusta Mallipohja.xlt löytyy ja mihin kansioon lomakkeet tallennetaan. Mitä ohjelmalla sitten tehdään, niin sillä luodaan lomakkeita joiden pohjaksi haetaan aina mallipohja. Mallipohja vain avataan, tallennetaan toisella nimellä tiettyyn kansioon, suljetaan mallipohja ja äsken tallennettu uusi tiedosto jätetään aktiiviseksi jolloin mallipohjasta syntyi siis uusi lomake.
Edellinen noin niin kuin "yleisesittelynä". Kysymykseni kuuluu seuraavasti: Koska "Ohjelma" sisältää lähes yksinomaan pelkkää koodia, niin voisiko "ohjelman" tehdä Visual Basicilla, eli voisiko siitä tehdä .exe:n? Muutenhan tämä onnistuisi kyllä, mutta voiko VB:llä viitata yhtä tehokkaasti esimerkiksi Excelin soluihin kuin VBA:lla (vaikkapa Range-komento)?
-Pasi-
VBA->VB
7
762
Vastaukset
- Excelisti
Kyllä jos sinulla on VB. Teet vain VB ohjelmaan viittauksen Excelin objekti- (olio)- kirjastoon.
Viitauksen jälkeen voit käsitellä kaikkia Excelin objekteja (olioita) aivan niinkuin VBA:ssa- Excelisti
Tällä tavalla voit käyttä minkä tahansa ohjelman ja dll- tiedoston objekteja. Mutta kun ohjelmaa kutsutaan on Microsoft viisaudessaan havainnut parhaimmaksi että ohjelman kutsua ei näytetä missään. Pahimmassa tapauksessa ohjelman kehitystilanteessa voit ladata ko. ohjelman useita kertoja ja koneesi tukehtuu
Tarkista Windowsin Tehtävienhallinnalla käynnissä olevat prosessit ja sulje turhat pois.
Menikä tämä liian vaikeaksi? Yritän ensi viikolla selittää paremmin esimerkkien kanssa. - Pasi
Excelisti kirjoitti:
Tällä tavalla voit käyttä minkä tahansa ohjelman ja dll- tiedoston objekteja. Mutta kun ohjelmaa kutsutaan on Microsoft viisaudessaan havainnut parhaimmaksi että ohjelman kutsua ei näytetä missään. Pahimmassa tapauksessa ohjelman kehitystilanteessa voit ladata ko. ohjelman useita kertoja ja koneesi tukehtuu
Tarkista Windowsin Tehtävienhallinnalla käynnissä olevat prosessit ja sulje turhat pois.
Menikä tämä liian vaikeaksi? Yritän ensi viikolla selittää paremmin esimerkkien kanssa.Minulla ei ole VB:ia mutta ajattelin että josko sellaisen hankkisin. Luonnollisesti tieto siitä että VB:lla voi tehokkaasti käyttää Excelin taulukkoa edistää asiaa. Mielelläni kyllä lisätietojakin kaipaan.
Kiitos näistäkin tiedoista
-Pasi-
- Kunde
"olen tehnyt Excelillä pienen sovelluksen jonka ympärillä pyörii kolme Excel-tiedostoa."
Miksi sotkea VB:tä kun voit tehdä saman ja paljon "kevyemmin" ja nopeammin Excelin VBA:lla.
Miksi yleensä avata master.xls?
Riittää kun avaat Lomake.xls ja tallentaessa tarkistat(BeforeSave tapahtuma), ettet ole tallentanut jo aikaisemmin samalla nimellä?
Jokunen päivä foorumilla joku kyseli aikalailla samaa asiaa. Sama neuvo pätee siihenkin.- Pasi
on satoja rivejä koodia, lomake täytetään UserFormien ja makrojen avulla ettei lomakkeeseen voisi vahingossakaan täyttää virheellistä tietoa, kaikki tarpeellinen tieto tulee täytettyä jne. Lomakkeen joitakin tiettyjä soluja klikkaamalla käynnistyy esimerkiksi makro (joka on muuten master.xls:ssä) ja joka toimii sen mukaan mitä solussa lukee jne.
Lomaketta ei siis täytetä kuten Excel-taulukkoa vaan kyseessä on pienoinen ohjelma. - Kunde
Pasi kirjoitti:
on satoja rivejä koodia, lomake täytetään UserFormien ja makrojen avulla ettei lomakkeeseen voisi vahingossakaan täyttää virheellistä tietoa, kaikki tarpeellinen tieto tulee täytettyä jne. Lomakkeen joitakin tiettyjä soluja klikkaamalla käynnistyy esimerkiksi makro (joka on muuten master.xls:ssä) ja joka toimii sen mukaan mitä solussa lukee jne.
Lomaketta ei siis täytetä kuten Excel-taulukkoa vaan kyseessä on pienoinen ohjelma.siltikään en ymmärrä, miksi Master.xls pitää käyttää. Voithan siirtää kaiken koodin Lomake.xls ja tehdä tarkistukset siellä...
- Nimetön
Kunde kirjoitti:
siltikään en ymmärrä, miksi Master.xls pitää käyttää. Voithan siirtää kaiken koodin Lomake.xls ja tehdä tarkistukset siellä...
Koodia on siis useita satoja rivejä, oikeasti useampi tuhat. "Ohjelman" tiedostokoko on 399 kt, kun taas lomakkeen koko on 52 kt jos siinä on yksi sivu ja 91 kt jos siinä on kaksi sivua jne. Lomakkeita on lähes tuhat ja joka vuosi niihin lisätään yksi välilehti lisää...
Nyt ymmärtänet paremmin?
-Pasi-
Ketjusta on poistettu 0 sääntöjenvastaista viestiä.
Luetuimmat keskustelut
Virkamiehille tarvitaan tuntuvat palkankorotukset
Naistenpäivänä on syytä muistuttaa, että virkamiehen euro on vain 80 senttiä. Palkat tulee saattaa samalle tasolle yksi534360Riikka Purran kaudella nousi bensan hinta yli 2 euron
Muistatteko kuinka edellisen vasemmistohallituksen aikana, ns. Marinin aikakaudella, bensiiniä sai 1,3 euron litrahinnal824049- 703518
Olisipa saanut sinuun
Tutustua paremmin. Harmi että aloin lopulta jännittämään kun näytit tunteesi niin voimakkaasti ja lähestyit niin voimaak963450Mitäs nyt sijoittajat?
Pörssit laskevat maailmalla Iranin sodan takia ja muutenkin ovat olleet Trumpin vallan alla epävarmat. Ainoa, mikä on no1072465- 352318
- 242199
- 362189
- 382179
Olisitpa se hellä
Ja herkkä minkä kuvan sain sinusta irl. Haluaisin että elämässäni olisi sellainen joka arvostaa minua juuri sellaisena k232064