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

Opgelost Spelgegevens vanuit Excel op OneDrive bijhouden

Dit topic is als opgelost gemarkeerd

Henk Pietersma

Gebruiker
Lid geworden
26 mrt 2025
Berichten
12
Besturingssysteem
Windows 11
Office versie
Office 2016 Pro
Beste allemaal,
Ik ben een behoorlijk groot spel aan het ontwikkelen in Excel.
Dat spel wil ik met enkele kennissen kunnen spelen en daarvoor wil ik gebruikmaken van mijn OneDrive. We wonen niet bij elkaar in de buurt en daarom worden de belangrijkste gegevens bijgehouden in een tekstbestandje. Dit bestandje staat op OneDrive en mijn kennissen hebben een link met volledige toegang tot dat bestand.

Ik wil graag dat de gegevens in dat bestand door Excel gelezen en aangepast kunnen worden. Handmatig verwerken is geen handige optie. Feitelijk werkt het net als een ouderwets "INI-bestand". Het uitlezen moet elke 20 of 30 seconden door Excel kunnen worden verwerkt. Die timing is niet kritiek en die is gemakkelijk in te bouwen/aan te passen. Maar ik heb geen idee hoe ik dit vorm moet geven om vanuit Excel te benaderen.

Weet iemand hoe ik dit vanuit VBA kan doen?
Het spelbestandje (met nepdata) heb ik even bijgesloten voor de beeldvorming.
 

Bijlagen

Dat klopt, Jan.
Het xlsm-bestand hebben we allemaal lokaal, en de VBA werkt prima.
Alleen heb ik iets nodig om met VBA bij het tekst-bestandje te komen.
Dat staat op OneDrive. Het Excel-bestand staat daar niet.
Zodra het lukt om dat tekst-bestandje te lezen en eventueel aan te passen, dan is e.e.a. opgelost.
 
Zorg ervoor dat je die onedrive folder, waar je tekstbestand staat, “synchroniseert”. Daarna kun je het bestand benaderen zoals je dat met andere lokale bestanden doet. Zaak is wel dat iedere gebruiker dit moet doen.
 
Je zou zoiets kunnen doen:
Code:
Sub macro_timer()
    Application.OnTime Now + TimeValue("00:30:00"), "mijn_macro"
End Sub

Sub mijn_macro()
    Debug.Print "Hier wordt de data ververst"
    'Verversen
    macro_timer
End Sub

Sub Verversen()
    Dim DataLine As String
   
    Open "Filename" For Input As #1
    While Not EOF(#1)
        Line Input #FileNum, DataLine ' lees file regel voor regel en doe ermee wat je goed acht
    Wend
    Close #1
End Sub
Start macro_timer, dan wordt iedere 30 seconden de sub mijn_macro uitgevoerd.
 
Terug
Bovenaan Onderaan