2 vragen om mijn document af te ronden (mooier / gebruiksvriendelijker te maken)

Status
Niet open voor verdere reacties.

MJKoolschijn

Gebruiker
Lid geworden
3 jan 2014
Berichten
51
Hallo,

Heb inmiddels een aardig werken bestand gemaakt, maar zit nog met een paar schoonheids problemen.

1) Bij het laten openen van een bestand start de verkenner standaard in C:, terwijl mijn voorkeur naar c:\data\report uit gaat. hoe zorg ik dat hij vanaf daar begint?

huidige code:
PHP:
  Set inputFileDialog = Application.FileDialog(msoFileDialogOpen)                     'Vul het filedialog object

    With inputFileDialog
        .Title = "Selecteer bestand"                                                    'Naam van het scherm
        .AllowMultiSelect = False                                                       'Je kunt maximaal een bestand per keer kiezen
        .Filters.Clear                                                                  'Alle automatische filters verwijderen.
        .Filters.Add "Excel files", "*.xls; *.xlsx; *.CSV; *.xlsm", 1                   'Toon alleen de Excel bestanden
        If .Show = False Then Exit Sub                                                  'Toon het Filedialog, als niets wordt gekozen dan stoppen.
        SOURCE = .SelectedItems(1)                                                      'Neem het gekozen bestand en zet dit in een variabele
    End With

2) Ik maak gebruik van een userform. Bij het opstarten van de excel gaat hij wel netjes naar dit formulier toe, maar als ik tussendoor iets anders open en daarna terug ga naar excel komt het userform niet standaard omhoog.
Heb hier uiteraard een simpele button voor gemaakt om het userform weer te starten. Maar liever zou ik willen dat hij er standaard naar toe gaat. Iemand een idee?

Alvast bedankt.

mvg Maarten
 
1) Wat betreft de startdirectory zou dit volgen mij moeten werken:

Code:
    .InitialFileName = "c:\data\report"

Mogelijk niet relevant in jouw situatie maar "xlsb" is ook een relevante extensie voor binair opgeslagen files (eigenlijk oude .xls files in nieuwere office versies)

2) Deze begrijp ik niet helemaal. Indien het userform nog open is zou deze na het terugswitchen naar excel weer automatisch boven moeten komen (zolang het scherm "modal" is). Of bedoel je dat als er geen open userform meer is en naar excel wordt geswitched dat het userform weer automatisch opent?
 
Bedankt voor je reactie.

Probleem 1 is nu opgelost, dit werkt naar wens.

Zal proberen probleem 2 nog wat te schetsen.

- Mijn document haalt data uit een source document en plaatst dit in een QC document. Daar krijgt hij een respons van (Passed, Failed of to be Approved).
Bij Passed sluit het QC document en blijft de user form open.
Maar bij de andere 2 antwoorden dient het andere document / de data bekeken te worden en blijft het andere document dus open (ook Excel). Als ik daar klaar en die excel sheet afsluit gaat hij terug naar mijn eerste sheet.
Maar dan naar excel zelf en niet naar het user form.
Graag zou ik hem dan weer direct naar het user form laten gaan.

Hoop dat je nu gegrijp wat ik bedoel
 
Als je toch aan het 'mooier' maken bent:

Code:
With Application.FileDialog(1)
  .Title = "Selecteer bestand"
  .InitialFileName = "G:\OF"
  .Filters.Add "Excel files", "*.xls; *.xlsx; *.CSV; *.xlsm"
  If .Show = True Then Source = .SelectedItems(1)
End With
 
Jij gebruikt het woord 'document' in zeker 3 verschillende betekenissen.

Gebruik 'Excel-bestand', 'Excel-werkblad' en 'Excel Userform' (eventueel andere termen) om te beschrijven wat je wanneer met 'document' bedoelt.
Ook het gebruik van afkortingen zonder uitleg (AZU's) is niet handig (NH).

Ben je bekend met het verschijnsel 'voorbeeldbestand' in fora ?
 
Laatst bewerkt:
Oke, tja snap wat je bedoeld als ik het terug lees.

- Excel bron bestand heeft een Excel userform. In dit userform wordt een excel source bestand en een Excel QC Chart bestand geselecteerd.
Na het selecteren druk je in het excel user form op START (een knop).
- Vanuit het geselecteerde excel source bestand word data gehaald (Source bestand word vervolgens gesloten)
- Deze data wordt in de Excel QC chart geplaatst.
De dat in de EXCEL QC chart wordt verwerkt, en geeft een respons. (a. Passed, b. Failed of to be approved)

Bij a.
Het Excel userform laat de EXCEL Chart sluiten en het EXCEL Userform blijft netjes open staan (Klaar voor vervolg).

Bij b.
Het Excel userform laat de EXCEL Chart open staan en blijft daar staan (Excel Userform is nu afgerond).

Maar als ik klaar ben in het opgebleven Excel CHart bestand en deze sluit en dus terug ga naar de het Excel userform (in het Excel bron bestand) komt hij niet met het user form omhoog maar in excel.

Met een knop kan ik het Excel Userform terug krijgen, maar wil dat leiver direct in beeld hebben.

Hoop dat het zo begrijpbaar is
 
Nu nog even dat voorbeeldbestand met code.....
 
voorbeeldbestandje is inderdaad handig, maar ik vermoed dat je met een "activate" event een heel eind moet kunnen komen.
 
Helaas is mijn bestand te groot om hierop te plaatsen. Althans die melding krijg ik. :(
 
Daarvoor hebben we inpakprogramma's : zip, rar, etc.
 
Ik zie weinig terug van suggesties die je zijn gedaan....:(
 
Kan wel zeggen (zie je ook aan mijn manier van programmeren) dat ik een behoorlijke beginner ben.
Doe me best om het te laten werken, maar weet zeker dat veel van de door mij gebruikte manieren korter zouden kunnen. Maar dan zou ik het (op dit moment) niet begrijpen en dat vind ik wel belangrijker, om te begrijpen wat ik doe. Uiteindelijk doet het programma nu wat ik wil dat hij doet, dus ben ik hem aan het mooier maken (het werkzame geheel).
Vandaar de geplaatste vraag.

Heb wel degelijk gebruik gemaakt van alle suggesties, anders was ik nooit zover gekomen.

mvg Maarten
 
Is er niemand die weet hoe ik direct als ik een andere excel sheet sluit, ik bij terug keer naar de reeds geopende sheet direct in de Excel userform terecht kom, zonder hiervoor een button aan te maken?
Of is het gewoon niet mogelijk anders dan met een button (ook een antwoord uiteraard)

mvg Maarten
 
Heb je zoiets al geprobeerd?
Code:
Dim wbSource As Workbook
    Set wbSource = Workbooks.Open(SOURCE)                                                                   'Open het bronbestand.)
    Sheets("Sheet1").Copy After:=Workbooks("Add chart data.xlsm").Sheets(1)                            'Kopieer source bestand naar new tab
    wbSource.Close SaveChanges:=False
 
Op de plek waar je nu de code hebt staan. De declaratie zet je natuurlijk bij de andere declaraties.
 
Status
Niet open voor verdere reacties.
Terug
Bovenaan Onderaan