Mentés makró nélkül

Mentés makró nélkül
2018-11-13T15:52:22+01:00
2018-11-14T09:22:04+01:00
2022-12-05T16:25:42+01:00
Attilag
Sziasztok!

Van egy munkafüzetem amiben egy makró lefut, aminek része, hogy menti az eredményt más néven.
Le is fut és menti is, de xlsm formátumban. 

A kódrész: 

ThisWorkbook.SaveAs mappa & Replace(nev, ".", told & Format(Date, "yyyymmdd") & "."), _ FileFormat:=xlOpenXMLWorkbook
Hogyan tudom sima xlsx-ként menteni? Rossz helyre írom a file format részt?

Előre is köszi!
Mutasd a teljes hozzászólást!
Szia!

Mit nézek be még mindig?

Szerintem azt, hogy a Thisworkbook.Name már tartalmazza a kiterjesztést is, ami az aktuális munkafüzetnél xlsm ugyebár.
Ezért ezt 

Replace(nev, ".",

erre kell átírnod:  Replace(nev, ".xlsm",

Üdv.
Mutasd a teljes hozzászólást!

  • Találtam itt hasonló felvetést, de az abban írt

    'FileFormat:=xlOpenXMLWorkbook
    'CreateBackup:=False
    'Application.DisplayAlerts = False

    kódsorok nem működnek valamiért...
    Mutasd a teljes hozzászólást!
  • Szia!

    Az a kérdés, hogy meg szeretnéd-e tartani a régi fájlodat.
    Ha igen, akkor a SaveCopyAs metódust kell használnod, amihez csak a fájlnevet kell megadni, oda írj xlsx kiterjesztést a névbe. Akkor nem lesznek mentve hozzá a makrók. Az a fájl pedig, amelyik menti "változatlan" marad, vagyis nem lesz mentve, ha menteni szeretnéd, arra a Save metódust használnod kell.

    Üdv.
    Mutasd a teljes hozzászólást!
  • Szia!

    Most látom csak, hogy a fenti kódrészletben is Te segítettél be. Ez is mutatja, hogy melyikünk ért hozzá jobban.

    Szóval a cél az, hogy a makró futás után egy makrótlan xlsx keletkezzen, a makrót tartalmazó fájl meg bezáródik mentés nélkül (ez a rész már megoldott).
    Az egész menet működik rendben most is, csak a formátum hibádzik.

    Üdv!
    Mutasd a teljes hozzászólást!
  • Szia!

    Akkor SaveCopyAs mappa & Replace(nev, ".", told & Format(Date, "yyyymmdd") & "."
    A nev pedig legyen xlsx kiterjesztésű.
    Ennek a metódusnak nincs több paramétere, csak a név.

    Üdv
    Mutasd a teljes hozzászólást!
  • Szia!

    Köszi a gyors választ! Már beljebb vagyok, mert születik *.xlsx.
    Valami még mindig nem stimmel, mert a 

    Public Sub nev() Dim mappa As String Dim nev As String Dim told As String mappa = "C:" nev = ThisWorkbook.Name & ".xlsx" told = "_mod_" ThisWorkbook.SaveCopyAs mappa & Replace(nev, ".", told & Format(Date, "yyyymmdd") & ".") End Sub
    kódra ...névpróba_mod_20181113.xlsm_mod_20181113.xlsx fájl keletkezik. Ha megnyitnám azt mondja, hogy érvénytelen a kiterjesztése/formátuma.
    Mit nézek be még mindig?
    Mutasd a teljes hozzászólást!
  • Szia!

    Mit nézek be még mindig?

    Szerintem azt, hogy a Thisworkbook.Name már tartalmazza a kiterjesztést is, ami az aktuális munkafüzetnél xlsm ugyebár.
    Ezért ezt 

    Replace(nev, ".",

    erre kell átírnod:  Replace(nev, ".xlsm",

    Üdv.
    Mutasd a teljes hozzászólást!
  • Tökéletesen működik a fájl elnevezés. De megnyitáskor ugyanazt a hibát dobja.
    Nem kell ide valami + paraméter? fileformat:= valami -vel próbálkoztam, de az nem jött be.

    Üdv!
    Mutasd a teljes hozzászólást!
  • Szia!

    A SaveCopyAs nem tud a néven kívül semmilyen más paramétert fogadni. Sajnos az elmentett fájlt valóban nem lehet xlsx -ként megnyitni. (Cserébe ha módosítod a fájl xlsx kiterjesztését xlsm -re - azaz átnevezed a fájlt -, akkor minden további nélkül megnyitja és persze ott van benne a makró is :( ).
    Ezért csak a SaveAs metódus működik mégis:

    Application.DisplayAlerts=False ThisWorkbook.SaveAs mappa & Replace(nev, ".xlsm", told & Format(Date, "yyyymmdd") & ".xlsx"), FileFormat:=xlOpenXMLWorkbook ThisWorkbook.Close False ' mentés nélkül bezárjuk.
    (Ne feledd, ez már az új fájl lesz, amit bezárunk, a régi nem mentődött! )
    Remélem, így már működni fog.

    Üdv.
    Mutasd a teljes hozzászólást!
  • Szia!

    Kipróbáltam, és pont azt csinálja amit szerettem volna! Bocs, hogy ennyit szerencsétlenkedtem vel.

    Köszi! Nagy vagy!

    Üdv!
    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