• 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.

Zelf maken van een Add-In

Status
Niet open voor verdere reacties.

linkav

Gebruiker
Lid geworden
13 jun 2007
Berichten
465
Beste,

IK heb een aantal macro's die door een aantal mensen frequent gebruikt worden. Is het mogelijk om deze macro's onder een knop te steken in het menu? Zoja hoe doe ik dat?

Kan ik meerdere macro's in een 1 add-in steken? En deze add-in op een PC wel installeren zodat de knoppen aangemaakt worden met de macro's er onder?
 
Hallo EA,

Ik was net nog wat aan het zoeken via Google...

Bedankt alvast... dit ga ik uitproberen...
 
Dat kan ook zonder Addin.

maak een bestand met macro's, sla op als "G:\OF\makroos.xlsb"

Maak voor iedere gebruiker een excelbestand met de volgende macro

Code:
Private sub Workbook_open()
   GetObject "G:\OF\makroos.xlsb"
End Sub

Als de gebruiker dit bestand opent zijn alle macro's in makroos.xlsb beschikbaar.
 
Om je vraag over een add-In te beantwoorden, ja, dat kan. De Add-In kan alle macro's en formulieren e.d. bevatten die je maar wilt. Ook kan daar een knop of knoppen voor worden gemaakt in het lint menu. Daarnaast is het vanaf Excel 2010 ook mogelijk om dit in het contextmenu onder de rechtermuisknop te zetten.
 
Hallo Edmoor,

Bedankt voor je reactie.

Maar ik heb nog een aantal specifieke vragen:
Is een add-in 1 bestand? Van een bepaald type (xls...)?
Kunnen de gebruikers de vba code erachter bekijken/wijzigen (liefst niet want dat is net niet de bedoeling)
Moet een add-in geinstalleerd worden? Of hoe werkt het?
Is het mogelijk een add-in enkel bij bepaalde mensen zichtbaar is?
Kan in een add-in ook verborgen tabbladen staan?

Ik heb nu een xlsm met een eerste tabblad dat 5 knoppen bevat: Nieuwe lijst / Open bestaande lijst / Maak nieuwe selectie / Toon het resultaat / Bewaar lijst. Achter al deze knoppen zit vba code. Er worden tabbladen zichtbaar en onzichtbaar gezet, er wordt gebruik gemaakt van een tabblad met parameters (is verborgen).

Gewenst resultaat: bij het installeren van de add-in dat er een extra tabblad komt in de ribbon met de 5 knoppen.

Nu de vraag: hoe pak ik dit het best aan?
 
Voor Office 2007 en hoger is het een.xlam bestand. Het project zelf kan worden beveiligd met een wachtwoord. Een add-in hoeft niet geïnstalleerd te worden. Je zet dat bestand op de gewenste plek en een gebruiker kan deze dan daar vandaan aan Excel toevoegen via Bestand/Opties/Invoegtoepassingen.
Een add-in bevat zelf geen tabbladen maar kan ze uiteraard wel maken in het onderhanden document.

De knoppen in het menu zitten dan ook in de addin. Die worden gemaakt met een combinatie van VBA en Open XML in het custom UI gedeelte van Excel.
 
Beste Edmoor,

Bedankt voor de info.

Ik zou willen beginnen met een add-in te maken waarbij een extra tabblad aanmaakt met de naam 'MLT' en waarop 5 knoppen staan en als ik op een knop klik dat er dan een messagebox verschijnt. De 5 knoppen zijn:
1)Nieuwe lijst
2)Open bestaande lijst
3)Maak nieuwe selectie
4)Toon het resultaat
5)Bewaar lijst

Kan je mij hierbij helpen? Hoe pak ik dit het beste aan?
 
Je bedoelt neem ik aan een extra tab in het lintmenu. Je kan dan beter de omschrijving gebruiken in plaats van de afkorting MLT. Wat is de betekenis van MLT? Ik kan dan de add-in wel voor je voorbereiden met die knoppen er al in.
 
Hallo Edmoor,

MLT, moet zijn MST en staat voor Marketing Selection Tool.

Bedankt dat je dit wil voorbereiden voor mij...
 
Ok. En wil je voor die 5 knoppen ook leuke icons hebben? Lever me die dan in .png formaat met als grootte 256x256
 
Laatst bewerkt:
Over eventuele icons had ik nog niet nagedacht... Ik neem aan dat dit later ook nog toegevoegd kan worden?
 
Dat kan, maar dat moet wel in de Custom UI worden gedaan. Kijk maar even, ik kom er voor vanavond toch niet aan toe.
 
Ik heb alvast een voorbeeld voor je gemaakt:
Bekijk bijlage MST.zip

Pak het zip bestand uit. Je hebt dan een bestand met de naam MST.xlam
Plaats deze waar je maar wilt.
Open vervolgens Excel en klik op Bestand > Opties > Invoegtoepassingen > Start > Bladeren
Blader naar de folder waar je de MST.xlam heb geplaatst en dubbelklik er dan op.
Klik nu op Ok.

In het lint menu zie je nu de keuze Marketing Selection Tool en deze keuze zal nu in ieder bestaand en nieuw document beschikbaar zijn.
Klik daar op en zal je de gewenste knoppen zien. Het plaatje is uiteraard een willekeurige en de knoppen doen niets anders dan een message box tonen.

Het wachtwoord van het project is abcMSTcba
Er zijn 2 modules.
Module mstCallBack bevat de callback routines voor de interactie met het lint menu.
Module mstFuncties bevat de code voor de knoppen.

Dit is de OpenXML voor de CustomUI:
Code:
<customUI xmlns="http://schemas.microsoft.com/office/2006/01/customui" onLoad="Mst_RibbonUI_onLoad">
<ribbon>
<tabs>
	<tab id="MST_TAB" getLabel="Mst_RibbonUI_getLabel"
		 getVisible="Mst_RibbonUI_getVisible">
		<group id="MST_MENU" getLabel="MST_RibbonUI_getLabel">
			<button id="NIEUWELIJST"
				size="large"
				image="mst_1"
				onAction="MST_RibbonUI_onAction"
				getLabel="MST_RibbonUI_getLabel"
				getEnabled="MST_RibbonUI_getEnabled"
			/>
			<separator id="separator1" />
			<button id="OPENBESTAANDELIJST"
				size="large"
				image="mst_1"
				onAction="MST_RibbonUI_onAction"
				getLabel="MST_RibbonUI_getLabel"
				getEnabled="MST_RibbonUI_getEnabled"
			/>
			<separator id="separator2" />
			<button id="MAAKNIEUWESELECTIE"
				size="large"
				image="mst_1"
				onAction="MST_RibbonUI_onAction"
				getLabel="MST_RibbonUI_getLabel"
				getEnabled="MST_RibbonUI_getEnabled"
			/>
			<separator id="separator3" />
			<button id="TOONHETRESULTAAT"
				size="large"
				image="mst_1"
				onAction="MST_RibbonUI_onAction"
				getLabel="MST_RibbonUI_getLabel"
				getEnabled="MST_RibbonUI_getEnabled"
			/>
			<separator id="separator4" />
			<button id="BEWAARLIJST"
				size="large"
				image="mst_1"
				onAction="MST_RibbonUI_onAction"
				getLabel="MST_RibbonUI_getLabel"
				getEnabled="MST_RibbonUI_getEnabled"
			/>
		</group>
	</tab>
</tabs>
</ribbon>
</customUI>

Laat maar even weten wat je er zo van vind.
 
Ok dan :)
De code voor de knoppen kan je dan zelf wel toevoegen.
Het wijzigen van de plaatjes dient in de Custom UI te gebeuren en daar gebruik ik zelf de Custom UI editor voor:
http://bettersolutions.com/vba/ribbon/customui-editor.htm
Als je daarmee aan de slag gaat en er vragen over hebt dan hoor ik het wel.
 
Er gaat een nieuwe wereld voor mij open!

Bedankt voor de hulp!
 
Beste Edmoor,

We zijn er uit welke icoontjes we gaan gaan gebruiken. Nu had ik graag zelf eerst geprobeerd om de huidige aan te passen. Daarnaast willen ze ook de volgorde van de knoppen anders (New, Open, Save, Add Selection, Show Result).

Kan je mij stap voor stap uitleggen hoe ik dit het beste doe?

Bedankt alvast.
 

Bijlagen

  • Add Selection.png
    Add Selection.png
    11,6 KB · Weergaven: 40
  • New ML.png
    New ML.png
    3 KB · Weergaven: 52
  • Open ML.png
    Open ML.png
    20,3 KB · Weergaven: 50
  • Save ML.png
    Save ML.png
    8,3 KB · Weergaven: 40
  • Show Result.png
    Show Result.png
    19,9 KB · Weergaven: 54
Welk plaatje hoort bij welke knop? En moet de tekst in het Engels zoals je laat zien?
Tevens moet de achtergrond van die plaatjes nog transparant worden gemaakt.
Dat kan ik ook wel even voor je doen.
 
Status
Niet open voor verdere reacties.
Steun Ons

Nieuwste berichten

Terug
Bovenaan Onderaan