XLSX fájl megnyitása google drive-ból, mappakód + fájlnév alapján.

XLSX fájl megnyitása google drive-ból, mappakód + fájlnév alapján.
2021-06-13T12:28:06+02:00
2021-07-17T08:20:58+02:00
2022-12-06T20:41:59+01:00
Mindegyki
Sziasztok.
Vállalati csoportban működtetett Google drive-ban lévő *xlsx kiterjesztésű fájlt [export.xlsx] szeretnék VBA makróval megnyitni egy MSExcel-ből.(a vállalati csoport miatt nem egyszerű ide hivatkozni makróval....legalábbis az én tudás szintemen)
A file-t tartalmazó GSheet mappára az ID alapján lehet hivatkozni, viszont az xlsx file ID-ja 15 percenként változik, mert ezt egy Gsheet exportálással a script úgy hozza létre, hogy az előző [export.xlsx] nevű file-t először törli a mappából, majd ugyanezzel a névvel létrehoz egy újat (tehát új ID-t kap a fájl).
Magyarul, egy olyan kódra lenne szükségem, ami a Google Drive on lévő excel.xlsx nevű file-t megnyitja olvasásra.
pl: [mappa ID]\export.xlsx
vagy [mappa neve]\export.xlsx
Köszi előre is ha tudtok segíteni ebben.
Mutasd a teljes hozzászólást!
A google drive, kizárólag vállalaton belüli megoszthatósága miatt nincs lehetőség makróval elérni a benne tárolt fájlokat.
Mutasd a teljes hozzászólást!

  • Hali!

    1. Mutasd – VBA-forráskóddal/-részlettel –, hogy eddig mivel, hogyan próbálkoztál, meddig jutottál el, mi nem megy, hol/miben akadtál el!
    2. A jövőben körültekintőbben válogasd meg a kategóriákat, amikbe a témádat sorolod, nem véletlenül vannak azok (értsd: ennek a problémának semmi köze nincs sem a Prog.hu, sem a Fájlcsere kategóriákhoz).

    Mutasd a teljes hozzászólást!
  • Workbooks.Open Filename:="https://docs.google.com/spreadsheets/d/1Cvu8FILjEoZ9OKZ8G8MCBcvxxxxxxxxxxxxxxxxxxxx/export?format=xlsx&id=1Cvu8FILjEoZ9OKZ8G8MCBcvxxxxxxxxxxxxxxxxxxxx"

    Ez a kód nem működik, mert a GSheet-megosztását nem lehet full public-ra állítani a vállalati csoport miatt nem is engedi.
    Ezért megnyílik az export.xlsx, de csak egy bejelentkezési oldal jelenik meg rajta, nem pedig a fájl adattartalma.

    ezért írtam egy script-et a GSheet-re, ami csinál egy exportot xlsx formátumba 
    az egyik saját GDrive mappámba arról a lapról, amit makróval akarok majd megnyitni. (az előzőleg létrehozott xlsx fájlt pedig a kukába helyezi)

    function exportFile() { var folder = DriveApp.getFolderById("1OnTXBvdP3Cx_xxxxxxxxxxxxxxxxxxxx") var files = folder.getFiles() while (files.hasNext()) { files.next().setTrashed(true) } var ssID = "1wb7b8haD6rLjXyObHTSxx7yxxxxxxxxxxxxxxxxxxxx"; var url = "https://docs.google.com/spreadsheets/d/" + ssID + "/export" + "?format=xlsx"; var params = { method: "GET", headers: { "authorization": "Bearer " + ScriptApp.getOAuthToken() }, muteHttpExceptions: true }; var response = UrlFetchApp.fetch(url, params).getBlob(); var dir = DriveApp.getFolderById("1OnTXBvdP3Cx_xxxxxxxxxxxxxxxxxxxx"); var File = dir.createFile(response);
    }

    Nos, ezt a script által létrehozott xlsx file-t szeretném megnyitni egy excelből makróval, de ötletem sincs hogyan lehetne meghívni a GDrive-ról, mert mint korábban említettem, a file ID-ja 15 percenként változik, tehát arra nem tudok hivatkozni, csak a file neve ami mindig ugyanaz.
    Mutasd a teljes hozzászólást!
  • Nagyon valószínű, hogy a vállalati csoport miatt nem lehet elérni a GDrive-ot semmilyen hétköznapi kóddal.
    Sajnos nem osztható meg úgy, hogy bárki számára elérhető legyen a link ismeretében.
    Még próbálkozom a PowerQuery-vel.
    Ez az utolsó ötletem egyelőre.
    Mutasd a teljes hozzászólást!
  • var File = dir.createFile(response);

    ebben nincs benne a File.Path vagy vmi hasonló taggel?
    Mutasd a teljes hozzászólást!
  • Sajnos nem vagyok nagy PRO (még) script írásban.
    A projekt lényege, hogy van egy google sheet, amelyben minden nap létrejön egy új munkalap az éppen aktuális dátum nevével (pl. 06.16 a mai lap neve).
    Ezt a drive-os munkafüzetet vagy legalább egy munkalapját ki kellene exportálnom xlsx formátumban, hogy egy MS Excel-be lehessen átvinni ebből az adattartalmat, ami majd grafikont és különböző dolgokat csinál még a GSheet-ből nyert adatok alapján.
    Sajnos egy vállalati csoportban osztható csak meg a google drive, ezért nem tudom úgy megosztani, hogy "a link ismeretében bárki hozzáférjen", ezért makróval nem lehet megnyitni (legalábbis az általam ismert módokon nem) és a Power Query sem akar valamiért hozzá csatlakozni.
    Ezért gondoltam, hogy ha egy script nem a saját drive-omra mentené ezt az xlsx exportálást hanem a sajátgép egyik könyvtárába, akkor azt onnan már el lehetne érni egy excel-ből makróval.
    Sajnos az általam összehozott script csak annyit tud, hogy a saját drive-omra menti ezt a kiexportált xlsx fájlt és a mentés előtt törli az előzőt. Ami szintén fontos lenne, hogy ne szaporodjanak ezek a fájlok feleslegesen egy mappában.
    Nem tudom mennyire érthető ez....sajnos az én szintemen ezt nem tudom megoldani.
    Mutasd a teljes hozzászólást!
  • A google drive, kizárólag vállalaton belüli megoszthatósága miatt nincs lehetőség makróval elérni a benne tárolt fájlokat.
    Mutasd a teljes hozzászólást!
Tetszett amit olvastál? Szeretnél a jövőben is értesülni a hasonló érdekességekről?
abcd