Opgelost Opslaan naar SharePoint folder werkt niet

Dit topic is als opgelost gemarkeerd
Status
Niet open voor verdere reacties.

samabert

Gebruiker
Lid geworden
27 mrt 2010
Berichten
308
Hallo,

Met de volgende code sla ik een werkblad op met als naam L1 (werkbladnaam) en de datum. Dit werkt.

Code:
MyDir = "C:\Users\MarcB\Sk\BRU_HRS_Int_Team - DISPATCH HRS\REGISTRATIE\REC MA 45 Coupling\REC MA 45"
MyDir = "C:\Zaak\Test"

Nu moet ik het werkblad kunnen opslaan op Sharepoint met volgende code, dit werkt niet, melding dat het pad niet geldig is:
Code:
MyDir = "https:/sk.sharepoint.com/sites/BRU_HRS_Int_Team/Freigegebene%20Dokumente/DISPATCH%20HRS/REGISTRATIE/"

De volledige code in het voorbeeld.

Is hier een oplossing voor?
 

Bijlagen

Kan je het Sharepoint adres bereiken via de WIndows Explorer?
Dan moet je dat adres in VBA gebruiken.
 
Via Windows Explorer kan ik het adres bereiken, echter als ik het gebruik in VBA, krijg ik terug de melding dat het pad niet bestaat.
Ik vind in sommige artikels op het Internet dat het niet werkt met MyDir, klopt dit?
 
Wat is het pad dat in Explorer staat en hoe heb je dat in VBA verwerkt?

MyDir is geen opdracht maar een variabele, dat zou ook samabert kunnen zijn en staat er helemaal los van.
 
Laatst bewerkt:
In bijgevoegde foto uitleg hoe ik aan het pad kom en hoe ik het in de code gebruik.
Ik hoop dat het duidelijk is?
 

Bijlagen

  • Uitleg.jpg
    Uitleg.jpg
    71,3 KB · Weergaven: 17
Ik kan het niet testen, maar even gezocht en dan zie ik in plaats van een slash als oplossing een backslash.
 
Dat plaatje is onleesbaar.
Waarom niet gewoon een beeldscgerm afdruk van de Windows Verkenner incl. de adresbalk?
En ook van je stukje VBA code.
 
Tikvoutje?
Code:
MyDir = "https:/sk.sharepoint.com/sites/BRU_HRS_Int_Team/Freigegebene%20Dokumente/DISPATCH%20HRS/REGISTRATIE/"
of toch dit:
Code:
MyDir = "https://sk.sharepoint.com/sites/BRU_HRS_Int_Team/Freigegebene%20Dokumente/DISPATCH%20HRS/REGISTRATIE/"
 
Dit is via Windows vekenner en met dit adres werkt het wel, maar dit is aangemaakt op mijn pc, maar iemand vanop een andere pc kan de bestanden in de folder niet lezen. (Users\MB)
Code:
C:\Users\MB\Sky\BRU_HRS_Int_Team - DISPATCH HRS\REGISTRATIE\REC MA 45 Coupling\REC MA 45

En dit is de volledige link in de adresbalk via SharePoint:
https://sky.sharepoint.com/sites/BRU_HRS_Int_Team/Freigegebene Dokumente/Forms/Logbook Scans.aspx?FolderCTID=0x012000B0F055A218CE64418B2FFCCB164A1855&id=/sites/BRU_HRS_Int_Team/Freigegebene Dokumente/DISPATCH HRS/REGISTRATIE/REC MA 45 Coupling/REC MA 45&viewid=62907810-aba9-43bb-9cda-79fa79040f15

En dit is de link op SharePoint in de folder onderaan copy direct link:
https://sky.sharepoint.com/sites/BRU_HRS_Int_Team/Freigegebene Dokumente/DISPATCH HRS/REGISTRATIE/REC MA 45 Coupling/REC MA 45

Ik heb ondertussen ondekt dat je in VBA, https weglaat, dan krijg ik pas na 20 sec het bericht van pad niet gevonden en niet direct.
Getest met backslash, dit geeft geen oplossing.
Ik denk niet dat er tikfout is ingeslopen.

Code:
Dim strFile As String

Sub SavePDF()

    Dim MyDir As String
    Dim MyFileName As String
    
  

   MyFileName = (Range("B7") + " Report " + (Range("F5 ") & " - " & (Range("   B9") & Format(Range("    B5").Value, " _ DD-mm-yyyy "))))
    
  
    'MyDir = "C:\Users\MB\Sky\BRU_HRS_Int_Team - DISPATCH HRS\REGISTRATIE\REC MA 45 Coupling\REC MA 45"  'Dit werkt
    MyDir = "//sky.sharepoint.com/sites/BRU_HRS_Int_Team/Freigegebene%20Dokumente/DISPATCH%20HRS/REGISTRATIE/"    ' Dit werkt niet
    
    ChDir MyDir
    Call GetFilesInFolder(MyDir, MyFileName)    'Call GetFilesInFolder method

  
    ActiveSheet.ExportAsFixedFormat Type:=xlTypePDF, FileName:= _
                                    MyFileName, Quality:= _
                                    xlQualityStandard, IncludeDocProperties:=True, IgnorePrintAreas:=False, _
                                    OpenAfterPublish:=False

 
    
End Sub
 

Bijlagen

Haal die %20 eens uit de link en maak er een spatie van.
 
Als ik een macro opneemt waarbij ik het bestand vanuit Sharepoint open (dus niet vanuit de OneDrive folder!!), dan kan ik daarna met succes die macro uitvoeren en wordt het juiste bestand geopend. Mijn code ziet er dan zo uit (pad is bewerkt):
Code:
    Workbooks.Open Filename:= _
        "https://foobar-my.sharepoint.com/map25/Documents/Regression%20analysis%20formulas.xlsx"
 
HSV & jkpieterse, ga het morgen op het werk testen en laat het jullie weten.
 
Zie hier vb

 
De laatste code van JEC … werkt, ik kan op SharePoint de sheet opslaan als met de naam in F5 (Report nummer). Wanneer ik het getal in F5 wijzig wordt de aangepaste sheet onder de nieuwe naam opgeslagen.

Ik heb wel een lijn in de code moeten uitschakelen, anders gebeurt er niets.
Hieronder de code zoals ik ze nu test en de sheet wordt netjes weggeschreven.
Code:
Option Explicit

Sub jec()
    Dim fn, fn2

    fn = "https://sky.sharepoint.com/sites/BRU_HRS_Int_Team/Freigegebene%20Dokumente/DISPATCH%20HRS/REGISTRATIE/REC%20MA%2045%20Coupling/REC%20MA%2045/" & Replace([F5], " ", "%20")
    'fn2 = Replace(fn, "ACTUEEL/2024/", "ACTUEEL/2024%20Repetitie/")
    With Sheets(1)

        .ExportAsFixedFormat 0, fn
        .ExportAsFixedFormat 0, fn2
    End With
End Sub

Wat ik nu nog graag zou willen is de filenaam in PDF onder de volgende vorm:

Code:
  = (Range("B7") + " Report " + (Range("F5 ") & " - " & (Range("   B9") & Format(Range("    B5").Value, " _ DD-mm-yyyy "))))

B7 = Brand
F5 = Report nummer
B9 = Ex location
B5 = Datum

Als dit nog zou kunnen aangepast worden, ik heb het zelf aan het proberen geweest, maar dit gaat boven mijn petje.
 

Bijlagen

Gooi deze er eens tegen.
Code:
Sub jec()
    Dim fn, fn2, myfilename As String
    myfilename = Range("B7") & " Report " & Range("F5") & " - " & Range("B9") & "_" & Format(Range("B5").Value, "DD-mm-yyyy")
    fn = "https://skytankingholding.sharepoint.com/sites/BRU_HRS_Int_Team/Freigegebene%20Dokumente/DISPATCH%20HRS/REGISTRATIE/REC%20MA%2045%20Coupling/REC%20MA%2045/" & Replace(myfilename, " ", "%20")
    'fn2 = Replace(fn, "ACTUEEL/2024/", "ACTUEEL/2024%20Repetitie/")
    With Sheets(1)
        .ExportAsFixedFormat 0, fn
        '.ExportAsFixedFormat 0, fn2
    End With
End Sub
 
Warm bakkertje,
Jouw code doet het helemaal, bedankt voor de oplossing! Alles wordt nu netjes opgeslagen op SharePoint.

Iedereen ook bedankt voor het meedenken.
 
Laatst bewerkt:
Status
Niet open voor verdere reacties.
Terug
Bovenaan Onderaan