• Privacywetgeving
    Het is bij Helpmij.nl niet toegestaan om persoonsgegevens in een voorbeeld te plaatsen. Alle voorbeelden die persoonsgegevens bevatten zullen zonder opgaaf van reden verwijderd worden. In de vraag zal specifiek vermeld moeten worden dat het om fictieve namen gaat.

automatisch openen hulpbestand

Status
Niet open voor verdere reacties.

Visiplan

Gebruiker
Lid geworden
7 mrt 2005
Berichten
206
Misschien rare vraag, maar ik heb in mijn hoofdbestand een koppeling naar een hulpbestand.
Kan ik het ook voor elkaar krijgen dat hij automatisch, als ik het hoofdbestand open, ook het hulpbestand opent??

Kan het wel telkens apart weer openen of via koppelingen -> bron openen enzo, maar lijkt mij makkelijker als het automatisch gaat, want ik heb het ene bestand altijd nodig om het andere bestand ook in te vullen. En nee, wil ze eigenlijk niet in 1 bestand hebben...

Iemand een idee?
 
Neem het openen van je hulpbestand één keer op en kopieer deze code naar thisworkbook en plaats deze bij Private Sub Wworkbook_open()
 
eh jaja, ik niet begrijp Macro's. Dus dat wordt een probleem voor mij.
 
Stap voor stap.

Open je hoofdbestand.
Druk op Alt+F11, hiermee open je de VBA-editor
Aan de linkerzijde zie je een verkennerachtige structuur met VBAProject(jouwbestand)
Onder Microsoft Excel -objecten zie je ThisWorkbook.
Dubbelklik hierop
Rechts opent een window ThisWorkbook (Code)
Kies in het vakje (Algemeen) voor workbook en eventueel in het vak ernaast Open (wordt normaliter al automatisch gekozen.)
In het window verschijnt :

Private Sub Workbook_Open()

End Sub

Plaats hiertussen de volgende code
Workbooks.Open FileName:="C:\dir\hulpbestand.xls"
ActiveWindow.WindowState = xlMinimized

C:\dir\hulpbestand.xls dien je te vervangen door het volledige pad en bestandsnaam van jouw hulpbestand.
De regel ActiveWindow.WindowState = xlMinimized zorgt ervoor dat de hulpbestand geminimaliseerd wordt waardoor je hoofdbestand weer meteen de focus terugkrijgt.

Sluit de VBA-editor en sla je hoofdbestand op.

Telkens als je nu je hoofdbestand opent wordt automatisch ook je hulpbestand geopend.

succes
 
Stap voor stap, zo moet dat bij mij wel, helaas...

Werkt :thumb: , maar nog even enkele vragen:
1. Als ik nu mijn hoofdbestand en hulpbestand kopieer naar een andere directorie, dan doet hij het zeker niet?

Uitleg: ik heb een standaard "leeg" hoofdbestand met standaard "leeg" hulpbestand, deze moeten bij een nieuw project, eerst gekopieerd worden naar de desbetreffende directorie. Waarna de bestanden kunnen worden ingevuld. ("leeg" -> diverse waarden nog in te vullen, formules staan er al in)

2. Deze is waarschijnlijk makkelijker: Ik heb nu gedaan zoals jij het hebt opgegeven, hulpbestand wordt geopend en op de achtergrond gezet, maar nu moet ik eerst mijn hoofdbestand nog wel "Maximaliseren", kan dit ook in VBA worden toegevoegd?

Als je me hier nog mee zou kunnen helpen...
:) :) :) :) :D :D :D
 
Jan, heb mijn eerste probleem zelf al opgelost in VBA.
Dat was eigenlijk heel simpel:
ActiveWindow.Windowstate = xlMaximized
-> dacht namelijk dat mijn hoofdbestand dan wel het actieve window zou zijn en het werkt ook nog. Super!

Maar nu punt 1 nog, weet je daar nog iets op?
 
Je kunt in VBA uitlezen vanuit welke directory het hoofdbestand wordt opgeroepen. Dit pad kun je opnemen in een variabele en deze variabele weer gebruiken voor het pad bij het oproepen van je hulpbestand. Ik moet dit even opzoeken maar nu heel erg druk. Mogelijk vind ik vanavond nog even tijd.
 
Niet erg hoor, kan wel even wachten.

Hoor hopelijk eerdaags van je, alvast bedankt...:D
 
Even tijd gevonden.

Als je je hoofdbestand hebt geopend kun je met ActiveWorkbook.path het pad opvragen van de huidige sheet.
Omdat het hulpbestand op dezelfde plaats staat moet je dit pad voor de naam van het hulpbestand plakken plus de slash voor het bestand.
Je 'open'-macro wordt dan als volgt:

Private Sub Workbook_Open()

dim p, Bestand as String

p = ActiveWorkbook.path
Bestand = p & "\hulpbestand.xls"
Workbooks.Open FileName:= Bestand
ActiveWindow.WindowState = xlMinimized
End Sub

Kijk eens in help van VBA bij ActiveWorkbook. Hier zitten vast nog meer leuke opties voor je tussen.
Gemakkelijkste manier om help op te roepen in VBA is om de cursor in (het gewenste deel van) de tekst te plaatsen waarover je hulp wilt en dan op F1 te drukken.
Dus cursor in ActiveWorkbook geeft help over ActiveWorkbook, cursor in Path geeft help over Path en ook mogelijkheden en voorbeelden waar je die kunt gebruiken.

Succes.
 
Nadeel is dat de hulp-functie van VBA niet werkt, moet geinstalleerd worden. Als ik hem wil installeren, dan vraagt hij om een bestand en die kan ik en hij niet vinden en heb Installatie CD hier niet liggen.

Dus beetje balen, maar zal dit eerst even proberen...
 
:( Een standaard probleem op netwerken bij veel bedrijven, wel de helpbestanden van Excel maar niet die van VBA installeren.
Bij ons tegenwoordig gelukkig standaard om alles volledig te installeren, kost iets meer schijfruimte maar voorkomt veel problemen en vragen.
Zie het wel als je nog vragen hebt.
Op de volgende sites vind je ook goede info terug:
http://www.geocities.com/WallStreet/9245/
http://users.pandora.be/ingrid/excel/
http://www.cpearson.com/excel/topic.htm
http://www.cpearson.com/excel/ExcelPages.htm
 
Zal daar even naar kijken, heb je Macro ondertussen aangepast en het werkt :thumb: :thumb:

Hartstikke bedankt!!!:) :) :)
 
Status
Niet open voor verdere reacties.
Terug
Bovenaan Onderaan