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

Gebruik maken van een sjabloon in Dropbox.

Status
Niet open voor verdere reacties.

riekss

Gebruiker
Lid geworden
23 jun 2015
Berichten
39
Ik heb een database gemaakt waarin doormiddel van een macro een nieuw tablad wordt geopen met daarin een sjabloon.
Op mijn eigen pc werkt dit prima. Ik heb de beide bestanden gekopieerd in de dropbox.
Logischer wijs kan de database het sjabloon niet vinden aangezien deze in de code als volgt:

'
' opneemnieuwtab Macro
'

'

Sheets.Add Type:= _
"C:\Users\rik\AppData\Roaming\Microsoft\Templates\sjabloon zoekopdracht macro.xltm"


End Sub

De locatie is uiteraard te veranderen naar de locatie van het sjabloon in de dropbox ->
dit is dan:
C:\Users\rik\Dropbox\sjabloon zoekopdracht macro.xltm

het probleem is alleen dat op een andere pc deze locatie niet meer klopt.

weet iemand hier een oplossing voor ?

alvast bedankt!
 
Daar heeft vriend snb al eens wat voor laten zien:
Code:
Sub M_snb()
    With CreateObject("Msxml2.DOMDocument.6.0")
        With .createElement("b")
            .DataType = "bin.base64"
            .Text = Split(CreateObject("scripting.filesystemobject").opentextfile(Environ("appdata") & "\DropBox\host.db").readall, vbLf)(1)
            MsgBox StrConv(.nodeTypedValue, 64)
        End With
    End With
End Sub

Zo krijg je dus de Dropbox lokatie op iedere PC.
 
Bedankt voor je snelle reactie! Ik ben even aan het googlen/puzzelen geweest maar ik snap nog niet hoe ik de code moet toepassen in mijn situatie.
Kun je mij misschien nog advies geven?

thnx
 
Zoiets:
Code:
Sub Macro1()
    Dim DropboxLocatie As String
'
' opneemnieuwtab Macro
'

'

    With CreateObject("Msxml2.DOMDocument.6.0")
        With .createElement("b")
            .DataType = "bin.base64"
            .Text = Split(CreateObject("scripting.filesystemobject").opentextfile(Environ("appdata") & "\DropBox\host.db").readall, vbLf)(1)
            DropboxLocatie = StrConv(.nodeTypedValue, 64)
        End With
    End With

    Sheets.Add Type:=DropboxLocatie & "\sjabloon zoekopdracht macro.xltm"
    
End Sub
 
Thnx, ik heb deze code ingevoegd in de database bestand in dropbox.
als ik de dropbox open op mijn pc werkt het prima.

Op de pc van mijn collega komt er echter te staan dat het bestand niet gevonden kan worden.
 
Daar zal 'ie dan gelijk in hebben. Het genoemde bestand zal dan (nog) niet in die folder aanwezig zijn.
 
Oke bedoel je hiermee dat ik geduld moet hebben en dat het later misschien wel werkt? ik waardeer je hulp ,maar ik snap niet zo goed wat je bedoeld.
 
Simpel. Dat bestand is er niet. Als je collega van hetzelfde dropbox account gebruik maakt dan zou dat wel zo moeten zijn. Staat bij hem het synchroniseren wel aan? Heb je bij hem al in z'n dropbox folder gekeken?
 
mijn collega werkt met hetzelfde account en het synchroniseren is ingeschakeld, wijzigingen worden direct doorgevoerd.
 
En heb je ook getest of die functie bij hem de juiste map terug geeft en het document daar wel of niet aanwezig is?
 
hoe zou ik dat kunnen testen? sorry voor mijn gebrek aan kennis op dit niveau.
 
Dat kan je test door de macro met F8 (Debug mode) te doorlopen en dan te kijken welke waarde de variabele DropboxLocatie heeft. Of zet na de code van snb even het volgende in de macro:
MsgBox DropboxLocatie
 
Het is mij nog steeds niet gelukt

op mijn pc voer ik dan de volgende code in:

Sub opneemnieuwtab()
Dim DropboxLocatie As String
'
' opneemnieuwtab Macro
'

'

With CreateObject("Msxml2.DOMDocument.6.0")
With .createElement("b")
.DataType = "bin.base64"
.Text = Split(CreateObject("scripting.filesystemobject").opentextfile(Environ("appdata") & "\DropBox\host.db").readall, vbLf)(1)
DropboxLocatie = StrConv(.nodeTypedValue, 64)
MsgBox DropboxLokatie

End With
End With

Sheets.Add Type:=DropboxLocatie & "\sjabloon zoekopdracht macro.xltm"
End Sub
 
Waar het hier even om gaat is of dit bij je collega de juiste folder laat zien:
MsgBox DropboxLokatie

Dit lijkt me sowieso niet goed:
Sheets.Add Type:=DropboxLocatie & "\sjabloon zoekopdracht macro.xltm"

Maar dan zou het bij jou ook foutgaan.
 
Laatst bewerkt:
beste Edmoor,

Bedankt voor je tips, ik vind het lastig om dit stukje te "programmeren" is het misschien een idee dat ik de inloggegevens van deze dropbox naar je toe stuur in een pm? ik begrijp dat dit veel gevraagd en/of dit mogelijk is maar ik dacht stel het gewoon voor.
 
Op zich zou ik dat geen probleem vinden maar ik denk niet dat dat nodig is. Wat je wel even kan doen is dat .xltm document hier plaatsen of aan me mailen. Dan zal ik even kijken wat ik denk dat het handigst voor je is.
 
Edmoor,

Bedankt voor je hulp. Ik heb ook het sjabloon weten te bewerken is gelukt.
Bij deze sluit ik dan ook deze vraag.
 
Kunnen jullie de uiteindelijke aanpak hier plaatsen ?
 
Het Dropbox verzoek om het sjabloonbestand op te halen bleek niet nodig. Ik heb een verborgen sjabloonblad gemaakt in het database document. Met een druk op een knop in het menublad wordt dit sjabloonblad gekopieerd naar een nieuw blad, inclusief opmaak, knoppen, checkboxes en achterliggende macro's.

De code hiervoor is erg simpel:
Code:
Sub KopieSjabloon()
    Application.ScreenUpdating = False
    With Sheets("Zoekopdracht")
        .Visible = True
        .Copy After:=Sheets(Sheets.Count)
        .Visible = False
    End With
    Application.ScreenUpdating = True
End Sub

"Zoekopdracht" is het verborgen sjabloonblad.
 
Laatst bewerkt:
Status
Niet open voor verdere reacties.
Terug
Bovenaan Onderaan