Posterous theme by Cory Watilo

Filed under: gif

A Mikrofo$t fejlesztési részlegnek innét, sok szeretettel

Oly hálás lennék, ha valaki elárulná, hogy az Office 2007 telepítésével mi a f@szért kellett megváltoztatni az Office OLE hívásait. Konkrétan: az Excel workbook SaveAs metódusa eddig "simán" tudta használni a "/"-t tartalmazó útvonal-fájlneveket. Most már nem. Ellenben most helyette van a sokatmondó hibaüzenetek egész sora:

OLE error code:800A03EC in Microsoft Office Excel

      Microsoft Office Excel cannot access the file 'C:\// tmp/A29 6D820'. There are several possible reasons:

-    The file name or path does not exist.

-    The file is being used by another program.

-    The workbook you are trying to save has the same name as a currently open work book.

    HRESULT error code:0x80020009

Akkor ezt most nézzük meg figyelmesen.

-    Természetesen nem A29 6D820 a fájl neve.

o   Mivel nem ez a fájl neve (amely néven lementeném), nem is létezik. Az útvonal így ránézésre gyanús, de mondom, az Office 2003 simán megbirkózott vele.

-    Mivel nincs ilyen fájl, más nem is használja.

-    „A munkafüzetnek, amit le szeretnél menteni, ugyanaz a neve mint az aktuálisan megnyitott munkafüzetnek (könyvnek).” – Ne döbbentsenek meg már ennyire. De’j’szen pont ezt akarom. A megnyitott munkafüzetet (ami nem mellesleg még nincs lementve, mert még nem is volt) lementeném a nevén.

Az error kódra túl sok értelmes találat nincs.

A beépített Excel (VB) help szerint a workbook.Saveas(„C:\kutya\fasza.xls”) egy teljesen korrekt hívás. (Igen, tudom, hogy itt backslash-t használtam most, de mondom az előző Office ezt simán le tudta kezelni normális slash esetén is.)

Ezzel szemben a valóságban mostantól csak backslash-sel működik az útvonal. És kell még egy paraméter, amit a hivatalos help opcionálisként tüntet fel (FileFormat, hogy melyik fos excel formátumba óhajtunk menteni, a nekem kellő .xlsx esetén a nagyon ráutaló 51-t kell használni.

Fuck you very muuuuuuuch.

Image001