Ga naar inhoud

Hallo. Hoe kan ik een knop toevoegen in een cel (Excel), waardoor de gebruiker een bijlage als pictogram kan toevoegen?


anoniem

Aanbevolen berichten

Ik heb een invulformulier gemaakt in excel. In een bepaalde cel wil ik graag door de gebruiker een bijlage laten toevoegen. Om dit gebruikersvriendelijk te maken, wil ik dit met een knop 'toevoegen bijlage' doen, zodat de gebruiker een pop up scherm krijgt en de bijlage kan toevoegen. Deze bijlage dient wel als pictogram te worden toegevoegd. M.b.v. VBA is het mij tot nu toe niet gelukt. Hebben jullie tips?
Link naar reactie
Beste Gast, Het is mogelijk om een object in te voegen. Daarmee heb je keuze uit verschillende typen bestanden. Als je het vinkje aanzet bij Pictogram kan je het bestand als een pictogram invoegen. Hieronder de VBA code voor het invoegen van een nieuw Word document. Maar de vraag die je stelt is niet 100% volledig (welk soort bestand? / voorbeeldbestand) en daarom kan ik je vraag ook niet volledig beantwoorden. ActiveSheet.OLEObjects.Add(ClassType:="Word.Document.12", Link:=False, _ DisplayAsIcon:=True, IconFileName:= _ "C:\PROGRA~2\MICROS~1\Office14\WINWORD.EXE", IconIndex:=0, IconLabel:= _ "Microsoft Word-document").Activate Je kan mijn contactgegevens vinden op http://clickandknow.nl wellicht kan ik je dan verder helpen. Met vriendelijke groet, Richard Koolman Click and Know
Link naar reactie
Beste Karina, Ondertussen heb je het aangepaste bestand mogen ontvangen. Met de onderstaande VBA code is het mogelijk om via een knop (die de macro Toevoegen aanroept) een bestand in te voegen binnen het Excel document als pictogram. Het maakt niet uit welk type bestand er ingevoegd wordt (extensies .XLSX, .DOCX, .TXT zijn mogelijk). BEGIN CODE Const MAX_FILENAME_LEN = 260 Declare Function FindExecutable Lib "shell32.dll" Alias "FindExecutableA" (ByVal lpFile As String, _ ByVal lpDirectory As String, _ ByVal lpResult As String) As Long Sub Toevoegen() Dim intKeuze As Integer Dim strPath As String Dim Bestand As String ' Dialoogvenster verkenner openen zonder dat er meerdere bestanden gekozen kunnen worden. Application.FileDialog(msoFileDialogOpen).AllowMultiSelect = False ' Dialoogvenster zichtbaar maken intKeuze = Application.FileDialog(msoFileDialogOpen).Show ' Controleren of er wel iets is geselecteerd If intKeuze <> 0 Then ' Het path van het geselecteerde bestand opslaan in de StrPath variabele strPath = Application.FileDialog( _ msoFileDialogOpen).SelectedItems(1) ' De bestandsnaam uit het Path halen Bestand = Right(strPath, Len(strPath) - InStrRev(strPath, "\")) ' Pictogram / ICON van de applicatie opzoeken exe = FindApp(CStr(strPath)) ' Toevoegen van het gekozen bestand als een "ICON" ActiveSheet.OLEObjects.Add(Filename:=strPath, Link _ :=False, DisplayAsIcon:=True, IconFileName:=exe _ , _ IconIndex:=0, IconLabel:= _ Bestand).Select End If End Sub Function FindApp(sFile As String) As String Dim i As Integer, s2 As String 'Controleren of het bestand bestaat If Dir(sFile) = "" Or sFile = "" Then MsgBox "File not found!", vbCritical Exit Function End If 'Buffer aanmaken s2 = String(MAX_FILENAME_LEN, 32) 'Importeren naam en icoon van de applicatie waar het bestand mee kan worden geopend i = FindExecutable(sFile, vbNullString, s2) If i > 32 Then FindApp = Left$(s2, InStr(s2, Chr$(0)) - 1) Else MsgBox "Geen Applicatie Gevonden!" End If End Function EINDE CODE Mocht je nog meer willen leren over Excel dan kan je 1 van mijn gratis proeflessen volgen door je aan te melden op mijn website http://clickandknow.nl/aanmelden Met vriendelijke groet, Richard Koolman Click and Know
Link naar reactie

Gearchiveerd

Dit topic is nu gearchiveerd en gesloten voor verdere reacties.

×
×
  • Nieuwe aanmaken...