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

Versie van document checken

Status
Niet open voor verdere reacties.

HyperXnl

Gebruiker
Lid geworden
2 apr 2016
Berichten
74
Hi All,

Is het mogelijk om met een macro een doucment versie te checken en te controleren.

Idee:
Wij werken met een offertetool welke regelmatig wordt geupdate.
Nu wil ik bijv. in dropbox het zelfde document plaatsen met in cel B1 het versie nummer.
Elke keer als de offertetool wordt geopend moet hij controleren of de versie die in een cel B1 staat overeenkomt met de versie van het dropbox bestand.
Als dit niet het geval is moet hij de melding geven "let op, u gebruikt een oude versie van dit bestand"

Is dit mogelijk en zo ja hoe?

Thanks alvast
 
Is deze functie misschien iets? ChatGPT
Uitgebreid (BBCode):
Private Sub Workbook_Open()
    CheckVersion
End Sub

Sub CheckVersion()
    Dim dropboxPath As String
    Dim localVersion As String
    Dim dropboxVersion As String
    
    ' Instelbare waarden
    dropboxPath = "C:\Pad\Naar\Je\Dropbox\Bestand.xlsx" ' Vervang dit door het pad naar je Dropbox-bestand
    localVersion = ThisWorkbook.Sheets(1).Range("B1").Value
    dropboxVersion = GetDropboxFileVersion(dropboxPath)
    
    If localVersion <> dropboxVersion Then
        MsgBox "Let op, u gebruikt een oude versie van dit bestand!", vbExclamation, "Versiecontrole"
    End If
End Sub

Function GetDropboxFileVersion(filePath As String) As String
    On Error Resume Next
    Dim fso As Object
    Dim fileObj As Object
    
    Set fso = CreateObject("Scripting.FileSystemObject")
    Set fileObj = fso.GetFile(filePath)
    
    If Err.Number = 0 Then
        GetDropboxFileVersion = fileObj.DateLastModified
    Else
        GetDropboxFileVersion = "Fout bij het ophalen van de versie"
    End If
    
    Set fso = Nothing
    Set fileObj = Nothing
    On Error GoTo 0
End Function
 
Dat doet hem helaas niet
Misschien dat iemand anders een makkelijkere oplossing heeft ?
Had zelf deze al geprobeerd maar werkt het ook niet mee:


Uitgebreid (BBCode):
Private Sub Workbook_Open()
    ' Dit wordt uitgevoerd wanneer het Excel-bestand wordt geopend

    ' Vervang "LinkNaarOnlineBestand" door de werkelijke URL of het pad naar het online bestand
    Dim onlineWorkbookPath As String
    onlineWorkbookPath = "LinkNaarOnlineBestand"

    ' Het getal in cel B1 van het online bestand
    Dim onlineCellValue As Variant
    onlineCellValue = GetOnlineCellValue(onlineWorkbookPath, "B1")

    ' Het getal in cel B1 van dit bestand
    Dim localCellValue As Variant
    localCellValue = ThisWorkbook.Sheets(1).Range("B1").Value

    ' Vergelijk de waarden
    If onlineCellValue <> localCellValue Then
        MsgBox "Let op, u gebruikt een oude versie van dit bestand!", vbExclamation, "Waarschuwing"
    End If
End Sub

Function GetOnlineCellValue(filePath As String, cellAddress As String) As Variant
    ' Deze functie haalt de waarde op van een bepaalde cel in het online bestand
    Dim onlineWorkbook As Workbook
    Set onlineWorkbook = Workbooks.Open(filePath)

    ' Hier kunt u het blad aanpassen indien nodig (bijvoorbeeld: onlineWorkbook.Sheets("Sheet1"))
    GetOnlineCellValue = onlineWorkbook.Sheets(1).Range(cellAddress).Value

    ' Sluit het online bestand zonder op te slaan
    onlineWorkbook.Close False
End Function
 
Wat staat er dan in cel B1?
 
Nog niks dus kan van alles zijn zat zelf te denken aan iets van 2024.1 en alles achter de punt is het versienummer en jaartal van jaar van aanpassing ofzo
 
Status
Niet open voor verdere reacties.
Terug
Bovenaan Onderaan