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

VBA op Imac

Status
Niet open voor verdere reacties.

AD1957

Verenigingslid
Lid geworden
27 feb 2016
Berichten
1.991
onderstaande VBA code gebruik ik in een bestand op mijn PC
Nu wil ik dit bestand copieren naar een Apple Imac van mijn broer.
Ik heb totaal geen ervaring met Imac en kan op dat ding niet achterhalen hoe ik het bestandenpad moet invoeren.
Hoe kan ik het pad van een bestand op het bureaublad van een Imac zien of achterhalen.

Vermoedelijk zit ik hier niet op het goede forum, maar hoop toch dat iemand mij kan helpen.


Code:
Dim WB As Workbook
Dim str_Path As String
Dim str_FileName As String

If Target.Column = 1 Then
    str_Path = "C:\users\user\Desktop\ONDERHOUD CV \historie onderhoud\"
    str_FileName = ActiveCell.Value & ".xlsb"
    
    Set WB = Workbooks.Open(str_Path & str_FileName)
 
Bedankt voor de info, zal daar eens gaan rondneuzen.

update:
net eens even rondgekeken, begrijp er geen lor van. Had gehoopt dat er iets in
nederlands te vinden was. Zou eigenlijk die Imac voor langere tijd moeten gebruiken
maar dat gaat niet lukken omdat mijn broer hem niet kan missen.
Iemand nog een goede tip.?
 
Laatst bewerkt:
Volgens mij is het pathseparator op een Mac een slash i.p.v. een backslash.
 
HSV/route99,

bedankt voor de tips, moet maar eens zien of ik hieruit kom.
Waarschijnlijk uren zoeken en proberen. Als mijn broer z'n MAC niet kan missen wordt het natuurlijk een probleem.
Kan hem natuurlijk nog altijd adviseren om een normale LAPTOP aan te schaffen, scheelt mij een hoop ergernis:evil:
IS het "heel" misschien mogelijk dat iemand mijn duidelijk kan uitleggen hoe te handelen.
 
Probeer het eens zo.


Code:
Dim WB As Workbook
Dim str_Path As String
Dim str_FileName As String


If Target.Column = 1 Then
[COLOR=#0000ff]if application.pathseparator = "\" then[/COLOR]
[COLOR=#0000ff]    str_Path = "C:\users\user\Desktop\ONDERHOUD CV \historie onderhoud\"
else
    str_Path = "C:/users/user/Desktop/ONDERHOUD CV /historie onderhoud/"
end if[/COLOR]
    str_FileName = ActiveCell.Value & ".xlsb"
    
    Set WB = Workbooks.Open(str_Path & str_FileName)
 
Hoi Harry,
Bedankt voor de info. Maar kun je me vertellen hoe ik een bestandenpad op de apple laptop kan achterhalen.
Normaal rechtsklick op bureaublad en dan eigenschappen. Bij apple werkt dat blijkbaar anders???
Ik heb gisteren even kunnen zoeken maar kwam er niet achter.
Desktop zal waarschijnlijk Laptop worden.
Hoe kan ik het pad achterhalen van een bestand in een map op het bureaublad van de apple??
 
Hallo Albert.

Zet onderstaande code eens in een leeg bestand en laat het lopen.
In cel A1 komt je antwoord.
Code:
Sub hsv()
Dim fl
For Each fl In Application.GetOpenFilename("Excel files (*.xls*),*.xls*,", , "Selecteer een bestand ", ,False)
 With GetObject(fl)
   ThisWorkbook.Sheets(1).Cells(1) = .FullName
   .Close
 End With
Next
End Sub
 
Hallo Harry,
Ik heb jou code in een macro gezet, als ik deze laat lopen niets in cel A1, krijg uiteindelijk de melding "typen komen niet met elkaar overeen."
Leeg bestand opgeslagen als .xlsm en de code aangepast (xls vervangen door xlsm) zelfde resultaat
 
Dan werkt dat ook al niet op een Mac.

Zet deze code eens in het bestand op de Mac en sla het op, sluit en heropen het.
Code:
Private Sub Workbook_Open()
 msgbox thisworkbook.fullname
End Sub
 
Ik zal het eens uitproberen op die MAC van m'n broer, ben benieuwd.
In ieder geval bedankt.

update:
Heb de code even uitgeprobeerd op mijn PC
werkt perfect:thumb:
nu eens kijken of het op de MAC ook werkt.
 
Laatst bewerkt:
Trouwens, bij de code in #9 heb je daar op annuleren gedrukt i.p.v. een bestand te selecteren en te openen?
 
heb inderdaad op annuleren gedrukt, daarna kwam de melding "typen komen niet met elkaar overeen"
Zal toch nog eens gaan kijken of ik iets fout heb gedaan.
 
Dat vermoeden had ik al.
Een bestand selecteren in het schermpje en op openen klikken.
 
Hallo Harry,
Toch nog eens geprobeerd met de code:
Ik heb voor de zekerheid *.xls* ook nog veranderd in *.xlsb, bestand geselecteerd en geopend.
Nog steeds de melding "typen komen niet met elkaar overeen."
ter info: op de IMAC heb ik nog niets kunnen uitproberen, zal nog wel enkele dagen duren.

Code:
Sub hsv()
Dim fl
For Each fl In Application.GetOpenFilename("Excel files (*.xlsb),*.xlsb,", , "Selecteer een bestand ", , False)
 With GetObject(fl)
   ThisWorkbook.Sheets(1).Cells(1) = .FullName
   .Close
 End With
Next
End Sub
 
Zo zal het wel werken, anders laat je de code maar schieten; je hebt immers die andere ook nog.
Code:
Sub hsv()
Dim fl
For Each fl In Application.GetOpenFilename("Excel files (*.xls*),*.xls*,", , "Selecteer een bestand ", , True)
 With GetObject(fl)
   ThisWorkbook.Sheets(1).Cells(1) = .FullName
   .Close
 End With
Next
End Sub
 
heb van alles op internet gevonden om de full filename op een APPLE te achterhalen.
Moet alleen nog die apple enkele uurtjes kunnen gebruiken.
Dan natuurlijk nog de vraag of de verdere VBA codes werken op APPLE, anders moet broer maar iemand inschakelen om het aan de praat te krijgen.
IK ga in ieder geval eens kijken of ik jouw code nu wel aan de praat krijg.
In ieder geval bedankt voor de moeite.
 
code even getest en nu werkt ie:thumb:
ook maar meteen eens even gekeken naar het verschil in de code "false gewijzigd in true"

ben er inmiddels achter dat onderstaande code op de APPLE niet werkt, "berichtje van broer"
Code:
Private Sub Workbook_Open()
 msgbox thisworkbook.fullname
End Sub

nu maar die laatste eens loslaten op de APPLE:rolleyes:
 
Laatst bewerkt:
Waarom neem je niet even een macro op? Of kan dat niet met een Mac? Waarom stelt jouw broer de vraag niet zelf? Dan gaat het testen van de suggesties vast een stuk sneller.
 
Status
Niet open voor verdere reacties.
Terug
Bovenaan Onderaan