Selecteren en print tabbladen middels checkbox in dialoogvenster

  • Onderwerp starter Onderwerp starter HMO
  • Startdatum Startdatum
Status
Niet open voor verdere reacties.

HMO

Gebruiker
Lid geworden
12 mrt 2007
Berichten
38
Ik heb een document waarbij je handmatig de benodigde tabbladen moet selecteren om deze te printen. Tevens dien je op het voorblad zelf de benodigde regels die bij deze tabbladen horen te selecteren c.q. verbergen.

Nu wil ik een dialoogblad maken met daarin een serie checkboxen die je aa kan vinken. Afhankelijk van de aangevinkte items moet het voorblad van de juiste regels voorzien worden en de juiste pagina's afgedrukt worden.

Bijvoorbeeld:
Blad 2, 6 en 7 nodig.
Hierbij horen regel 12, 13,14, 20 en 22 van het voorblad
Na druk op macroknop OK moet het document (dus voorblad, blad 2, 6 en 7) afgedrukt worden.

Hoe doe zoiets.

groeten, Harrie
 
Dag Harrie,

Zorg dat de regels die bij de diverse pagina's horen gegroepeerd zijn in alinea's. Dus alinea 1 hoort bij pagina 2
alinea 2 hoort bij pagina 3 enzovoort

Open het bijgevoegde document Documentpagina's afdrukken

Succes,

Axel.
 

Bijlagen

Hi Axel,

Dat is supersnel. :thumb:

Het document is in excel :o , vandaar het selecteren van verschillende tabbladen.

Heb je ook een oplossing voor excel?

GrtZ, Harrie
 
Hi Axel,

Nog laat aan het werk :D

Hij geeft een compilatie fout bij:

Private Sub UserForm_Initialize()
With ActiveWorkbook.Sheets(1)
m = .Cells(3, 1).CurrentRegion.Rows.Count

Hij geeft aan m niet gedefinieerd.

Ik heb hen als integer bij de overige declarabele als gedefinieerd, echter zonder resultaat.

:confused:

GrtZ Harrie
 
Axel,

Hierbij het bestandje, dat maakt het misschien wat duidelijker. :)

Ik heb een Macro opgenomen en aangepast om e.e.a. te proberen. Deze heet in deze file test3. Als je deze normaal uitvoert print hij het voorblad, het blad pompen, betaalapp. en eindblad.
De macro maakt gebruik van instructie: Sheet(Array(....).Select hierdoor selecteerd hij diverse bladen tegelijkertijd, zodat de paginanummering doorloopt.

Blad 1 is een hulpblad, waarmee ik later de selectie van de regels op de voorpagina wil aanpassen.

Tabblad dialoog1 moet het te voeren tabblad zijn, Door de vakjes aan te klicken moet het programmatje de bijbehorende tabs selecteren.

Ik hoop dat je me verder kan helpen.

GrtZ,

Harrie
 

Bijlagen

Dag Harrie,

Ik heb het dialoogvenster geïntegreerd. Als je een of meer bladen selecteert, zouden die moeten worden afgedrukt.

Maar eerst het invullen van blad 3 (de vakjes Ja, Nee en n.v.t.) Deze tabel correspondeert niet met de tabel van blad 1. Dus lijkt het me handig dat je in blad 1 in kolom C de bladnummers intypt die corresponderen met de tabel van blad 1 (C1: 030405; C2: 0607; C3: 08091011; enzovoort

Op sommige bladen staat pagina 1. Dat impliceert dat er meerder pagina's zijn. Ik weet niet hoe je dat afdrukt, maar neem het eens op.

Je zou de naam en andere gegevens van de opdrachtgever als ze regelmatig terugkomen ook kunnen opnemen in het bestand en in het dialoogvenster.

Nou bekijk het eens.

Gegroet,

Axel.
 

Bijlagen

Axel,

Dank voor (wederom) een snelle reactie.

Bij het compileren gaf hij direct en foutmelding dat "n" niet gedefinieerd was, deze heb ik nu als integer bij de variabelen opgenomen.

Het vreemde is dat hij alleen het hoofdblad print, en de overige bladen niet.
(Zou "s" iets moeten zijn als een "array of string" zoals in bijv. pascal mogelijk is)

De pagina's worden door Excel zelf (pagina opmaak kop-voettekst) opgemaakt. In de voettekst staat pagina # van ##, dus als je meerdere pagina's afdrukt krijg je:
pagina 1 van "xx". vandaar mijn keus voor sheet(array(......

Het document zou dus ten alle tijden het hoofdblad en het eindblad af moeten drukken.

De regels op het hoofdblad is ook een project op zich, namelijk als je het tabblad pompen afdrukt hoort R18, R23, R24, R36, R37 en R44 in de lijst te staan, maar als je ook nog een tanksanering hebt, dan moeten de regels R18, R19, R21, R36, R37, R40, R43, R44 in de lijst staan. Kan ik al deze regelnummers zo in blad 1 (hulpblad) in kolom C vermelden? Kan je die dan in hapjes van 2 karakter splitsen, ongeacht de hoeveelheid regels??

Wat de opdrachtgever betreft is het inderdaad wel handig als je een soort van messagebox krijgt waarbij je de opdrachtgever in kan vullen en deze gegevens vervolgens bewaart voor evt,. volgende opleveringen.


GrtZ Harrie
 

Bijlagen

Dag Harrie,

Over gegevens opdrachtgevers enzovoort hebben we het later wel.

Wat betekent R18, R19, R21, R36, R37, R40, R43, R44? Waar staat dat? En wat moet er eigenlijk op die (tab)bladen worden ingevuld?

Ik heb bij pompen en tanksanering als voorbeeld die nummers erachter gezet. Je kunt ze later weer terugvinden door telkens twee cijfers uit de string te halen (zie ook code bij commandbutton1_Click.

Gegroet,

Axel.
 

Bijlagen

Axel,

R18 R19 etc. staat voor regel 18, 19 etc. zoas je inderdaad gedaan hebt. :thumb:
Ja inderdaad, Zoals ik in Concept 4 heb gedaan.

De bedoeling van dit documet is dat wanneer iemand van ons bedrijf een oplevering met een opdrachtgever uitvoert, dat hij dan dit document aanklikt, de benodigde tabs aanklikt en dat het document dan voor iedereen een zelfde opmaak heeft in plaats van allerhande zelf verzonnen blaadjes. Waardoor het allemaal onoverzichtelijk wordt.

Het uitgeprinte document (met op het voorblad de projectgegevens en de aan te leveren extra documenten) voorziet dan in de voor dat project betreffende afvinklijst(en) (dit doet men dus op lokatie met een pen samen met de opdrachtgever.) Op het eerste en laatse vel tekent de opdrachtgever.

mvg,

Harrie
 
Dag Harrie,

Ik begrijp wat de bedoeling is. Maar waar staan die regels en waar moeten die worden gezet?

Gegroet,

Axel.
 
Greetings Axel,

Op het hoofdblad staan diverse regels met opleverdocumenten die in een separate map aangeleverd dienen te worden. Deze hebben betrekking op diverse certificaten e.d..

Voor ieder soort werk heb je diverse separaat een te leveren documenten nodig, dus bijv. voor een vloiestofdichte vloer is een bewijs van aanleg nodig en een PBV verklaring, voor levering van pompen zijn deze niet nodig.

Dus voor ieder soort werk krijg je een andere opmaak vam het hoofdblad. Als er meerdere soorten werk uitgevoerd zijn, dan kan het dus zijn dan (bijna) alle regels op het hoofdblad van toepassing zijn.

Groet Harrie
 
Dag Harrie,

Ja, begrijp ik. Maar waar staan die regels fysiek en waar moeten ze worden gezet in het hoofdblad?

Gegroet,

Axel.
 
Hi Axel,

Het hoofdblad heeft nu (onder het vak opdrachtgever) een lijst (van af Regel 18) met een opsomming van alle aan te leveren documenten. Echter deze zijn niet voor alle soorten werk/leveringen nodig.
Dus eigenlijk zouden alle regels verborgen moeten worden en alleen die zichtbaar worden die voorkomen in blad1 (hulpblad) kolom c.

Alleen regel 18 en 44 moeten altijd op het hoofdblad komen en de overige zijn afhankelijk van blad 1 kolom c en dienen gewoon op het hoofdblad afgedrukt te worden.

'k hoop dat je me kan helpen.

GrtZ,

Harrie
 
Dag Harrie,

Ik resumeer:
Er zijn een aantal tabbladen waarvan je voor de klant een of meer wilt afdrukken.
Bij elk tabblad behoren een of meer opmerkingen, waarvan R18 en R44 altijd worden geplaatst.
Dat betekent dat bij elk tabblad een opsomming hoort van welke regels er bij dat tabblad horen te worden afgedrukt.
Dat betekent dat op blad 1 achter de omschrijving van de tabbladen in kolom C bijvoorbeeld een opsomming komt van de af te drukken regels.

Kolom A Kolom B Kolom C
Pompen Onwaar 20242730
enzovoort.

Dat betekent dat als er een tabblad pompen wordt afgedrukt er in het hoofdblad (afgezien van de regels 18 en 44) vier regels worden afgedrukt. Te weten: 20, 24, 27 en 30.

Oké?

Hoe moet het als er meerdere tabbladen worden afgedrukt? Komt er bij elk tabblad een hoofdblad of worden de regels van alle tabbladen in één hoofdblad afgedrukt?

gegroet,

Axel.
 
Axel

Je resume is helemaal correct. :thumb: :thumb: :thumb:

Het Hoofdblad wordt 1 malig afgedrukt en is dus het voorblad voor het totaal aan "opleverchecklisten"

De regels op het hoofdblad moegen echter allemaal maar 1 keer voorkomen. Dus als in kolom c bij beide selecties regel 20 voorkomt moet regel 20 1 x op het voorblad staan.

GtrZ,

Harrie
 
Dag Harrie,

De opzet is iets anders geworden. In Word is het fraaier en gemakkelijker om documenten op te maken en zodoende heb ik een sjabloon gemaakt overeenkomstig het Excel-bestand.

Verder zijn er nu 3 werkbladen:
1 Algemeen (algemene gegevens)
2 Klanten (met de klantgegevens)
3 Locaties (met de locatiegegevens)
Ik weet niet of ik het Excel-document juist heb geïnterpreteerd, maar als het wat anders moet dan hoor ik het wel.

Er dienen enkele zaken in de macro UserForm1 te worden ingesteld:
In regel 3 eventueel Map wijzigen in het gewenste pad. (wordt automatisch aangemaakt)
Zet het sjabloon in een map en wijzig overeenkomstig in regel 4 het pad van de Const Sjabloon

Verder in blad “Algemeen” de rijen 1 t/m 13 van kolom C vullen met de regels van de documenten die moeten worden toegevoegd (regels 20 t/m 46). Ik heb er al een paar als test ingevuld.

Dan kan het programma worden uitgeprobeerd, want ik heb al wat fictieve klanten en locaties toegevoegd.

Open Excel en selecteer een bedrijf in het dialoogvenster.
Als alle gegevens bekend zijn dan wordt de tab Locaties bruikbaar (enabled). Klik op de tab Locaties.
Selecteer een locatie.
Als alle gegevens van deze locatie bekend zijn wordt de tab Afdrukken bruikbaar (enabled). Klik op de tab Afdrukken.
Vul eventueel de opleverdatum in en kies een of meer onderwerpen in de listbox.
Als er een of meer onderwerpen zijn geselecteerd dan wordt de knop Afdrukken bruikbaar (enabled). Klik op Afdrukken en het afdrukproces begint
Als het document gereed is komt er nog een mededeling waar het document staat opgeslagen.

Het afdrukken is nu nog geblokkeerd. In regel 1000 is de printopdracht nog gemarkeerd als opmerking. Wijzig dat en het document zal ook nog worden afgedrukt. (Hoop ik, want dat heb ik niet gecontroleerd.)

Ik stuur eerst het sjabloon en strakjes het Excel-bestand.

Gegroet,

Axel
 

Bijlagen

Wauw Axel,

Jij bent ff goed bezig geweest.

Ik ben ff uit de running geweest, ga hem morgen uittesten.

Ik laat nog wel even wat van me horen.

Bedankt.

GrtZ Harrie
 
Status
Niet open voor verdere reacties.
Terug
Bovenaan Onderaan