Telefonszámunk: 1-472-0679

File másolása

Kezdőlap Fórumok Excel programozás File másolása

5 bejegyzés megtekintése - 1-5 / 5
  • Szerző
    Bejegyzés
  • #2909
    serigala
    Felhasználó

      Szia Imre!

      Cég szerverén található a következő fájl „valami_2016-08-26_utem_2-DOC0194557.txt”. Ezt szeretném saját meghajtómra másolni minden nap. Az aktuális nap változása nem okoz gondot. A fájl nevében a DOC után található karakterek értéke minden nap változik. Ezt kellene helyettesíteni, de se a „*”, sem pedig a „?” próbálgatásával nem sikerült.
      Ezen problémámra keresem a megoldást.

      Sub masol()
      mainap = Format(Date, „YYYY”) & „-” & Format(Date, „MM”) & „-” & Format(Date, „DD”)
      FileCopy „H:\VBA\teszt\valami_” & mainap & „_utem_2-DOC” & „.txt”, „H:\VBA\teszt2\valami_” & mainap & „_utem_2-DOC” & „.txt”
      End Sub

      Segítségedet előre is Köszönöm!

      #2912
      horvimi
      Adminisztrátor

        Szia!

        Itt azt látom problémának, hogy a másolásnál a célfájl esetén szinte biztosan nme használható joker karakter. De az is lehet, hogy a forrásfájl esetében sem.

        A dátum formát különben egyszerűbben is megadhatod:
        format(date,"yyyy-mm-dd")

        A másik kérdés, hogy a fenti módszerrel biztosan 1 db fájlra tudod-e szűkíteni a talált fájliok számát. A Filecopy csak egy fájlt tud egy időben másolni.
        Ha a válasz IGEN, akkor Én azt csinálnám, hogy egy DIR paranccsal, * joker karakterel lekérném a fájl valódi nevét, azután már másolhatom.

        Sub masol()
            mainap = Format(Date, "yyyy-mm-dd")
            forrasmappa = "c:\ahol_a_fajl_van\"
            celmappa = "c:\ahova_masolni_akarod\"
            f = Dir("valami_" & mainap & "_utem_2-DOC*.txt")
            FileCopy forrasmappa & f, celmappa & f
        End Sub
        

        Ez alapján sikerül?

        Imre

        #2920
        serigala
        Felhasználó

          Bad file name or number
          Ezt a hibaüzenetet kapom.

          „DIR” és „*” használatával az „f” értéke üres.
          „DIR” használatával és „*” nélkül az „f” értéke üres.
          „DIR” nélkül „*” használatával az „f” értéke(„valami_2016-08-29_utem_2-DOC*.txt”).
          A fenti variációkra a fenti hibaüzenet érkezik. Az „f” értékénél „….DOC*”nak nem a „DOChelyettesített karakterek„-et kellene tartalmaznia?

          „DIR” és „*” nélkül működik. Az átnevezett fájl megjelenik a célmappában „valami_2016-08-29_utem_2-DOC.txt”.
          Még mindig a helyettesítő karakter okozza a másolási problémát szerintem.

          A másolás csak egy fájlra vonatkozna, ami így néz ki “valami_2016-08-26_utem_2-DOC0194557.txt” és ahogy írtam, a dátum a mai nap és a DOC utáni karakterek minden nap változnak.

          Remélem lesz még ötleted, jó lenne automatikussá tenni a másolgatást.
          István

          • A hozzászólás módosításra került: 7 years, 7 months telt el-serigala.
          • A hozzászólás módosításra került: 7 years, 7 months telt el-serigala.
          #2923
          horvimi
          Adminisztrátor

            Nem értem mi az a DIR nélkül.
            DE:
            1. A Dir simán az aktuális munkakönyvtárban keres.
            Beállítottad? Én nem írtam bele a mintába

            2. Ha van olyan fájl a forrás mappában, ami a mintának megfelel, akkor az f értéke a fájl neve lesz
            Próbáld ki az Immediate ablakban.
            – Állítsd be chdir paranccsal a munkamappát oda, ahol a fájl van (ahol naponta cserélődik)
            – Ird be ezt a parancsot: ?Dir(„valami_2016-08-26_utem_2-DOC*.txt”) (Nyilván a fájlnevet értelemszerűen írd)

            Erre vissza kell adnia a fájl nevét. valójában az első olyat adja vissza, ami illeszkedik a mintára. Tehát a „*” előtti rész állandó, a DOC utáni bármi, és txt a kiterjesztése.

            A fenti kódot én lefuttattam, simán működött.
            Szerintem nem jó helyen keres.

            Imre

            #2925
            serigala
            Felhasználó

              Valóban A CHDIR nem lett beállítva. Így már működik.

              Köszönöm a segítséget.

            5 bejegyzés megtekintése - 1-5 / 5
            • Be kell jelentkezni a hozzászóláshoz.