امکان تغییر نام فایل های اکسل با کمک vb

Collapse
X
 
  • زمان
  • نمایش
حذف همه
new posts
  • MA.SHAHIDI

    • 2019/01/07
    • 83
    • 56.00

    پرسش امکان تغییر نام فایل های اکسل با کمک vb

    با سلام
    تعداد زیادی فایل اکسل دارم که شبیه هم هستند ( دارای شیت ها و جداول یکسان با اطلاعات متفاوت ) که نیاز است اسم فایل ها تغییر کند . من میخواهم کدی بنویسم که به فولدر مورد نظر بره ، از شیت max سلول a2 اسم جدید رو بخونه و جایگزین اسم فعلی فایل کنه ، آیا امکانش هست ؟
  • rahi_feri

    • 2014/08/08
    • 524
    • 94.67

    #2
    سلام
    شدنی هستش با برنامه نویسی!
    بستگی داره همه فایل ها رو می خواهید ماکرو کنید یا یه کد اجرا کنید همه فایل ها خودش تغییر کنه
    اگه اولیه این لینک ها به کار میاد:
    لینک 1
    لینک 2
    اگر دومیه که خیلی فرق میکنه و من خودم با python معمولا این جور تغییرات رو اعمال میکنم
    [B][SIZE=1]بخش امضاء :
    [/SIZE][/B][LEFT]
    [CODE]
    Sub Macro()
    ActiveCell = "IY" & Right(Application.Name, 5)
    With ActiveCell.Characters(Start:=2, Length:=1).Font
    .Name = "Webdings"
    .Color = 255
    End With
    End Sub
    [/CODE]
    [/LEFT]

    کامنت

    • MA.SHAHIDI

      • 2019/01/07
      • 83
      • 56.00

      #3
      سلام
      ممنونم از راهنماییتون .
      بله من 470 تا فایل اکسل هست که باید اسمشون تغییر کنه . از phyton چطور استفاده می کنید؟ من که آشنایی ندارم میتونم ازش استفاده کنم ؟

      کامنت

      • rahi_feri

        • 2014/08/08
        • 524
        • 94.67

        #4
        سلام

        این تکه کد رو اجرا کنید به نتیجه می رسید فقط آدرس و نام شیت و سلول مورد نظر رو وارد کنید
        کد:
        [COLOR=#000080][B]import [/B][/COLOR]glob
        [COLOR=#000080][B]import [/B][/COLOR]os
        [COLOR=#000080][B]import [/B][/COLOR]xlrd
        file_path=glob.glob([COLOR=#008080][B]r'C:\Users\r.tavakoli\Desktop\ExcelFiles\*.xlsx'[/B][/COLOR])
        [COLOR=#808080][I]# print(file_path)
        [/I][/COLOR][COLOR=#000080][B]for [/B][/COLOR]f [COLOR=#000080][B]in [/B][/COLOR]file_path:
            wb=xlrd.open_workbook(f)
            ws=wb.sheet_by_name([COLOR=#008080][B]'Sheet1'[/B][/COLOR])
            cell=ws.cell([COLOR=#0000FF]1[/COLOR],[COLOR=#0000FF]0[/COLOR]).value
            new=os.path.join(os.path.dirname(f), cell + [COLOR=#008080][B]'.xlsx'[/B][/COLOR])
            os.renames(f,new)
        فایل exe هم درست کردم البته کنسولیه لازم به نصب نیست فقط فایل exe رو اجرا کنید...!
        فایل

        نکات :
        1. فایل ها رو در جایی کپی کنید تا اگه تغییرات مد نظر نبود بتونید برگردید به حالت قبل
        2. اولی آدرس - دومی نام sheet که به بزرگ و کوچیک حساسه و سومی شماره سطر از صفر شروع میشه و چهارمی هم شماره ستون از صفر (دیگه عجله ای نوشتم وقت نشد زیاد user friendly کنم!)
        Click image for larger version

Name:	sample.png
Views:	1
Size:	5.1 کیلو بایت
ID:	135392
        Last edited by rahi_feri; 2019/05/26, 12:17.
        [B][SIZE=1]بخش امضاء :
        [/SIZE][/B][LEFT]
        [CODE]
        Sub Macro()
        ActiveCell = "IY" & Right(Application.Name, 5)
        With ActiveCell.Characters(Start:=2, Length:=1).Font
        .Name = "Webdings"
        .Color = 255
        End With
        End Sub
        [/CODE]
        [/LEFT]

        کامنت

        • MA.SHAHIDI

          • 2019/01/07
          • 83
          • 56.00

          #5
          سلام
          ممنونم از شما
          فرمت فایل ها xlsb می باشد . من نتونستم در فایل اجرایی شما اصلاح کنم . میشه اصلاح بفرمایید .

          کامنت

          • rahi_feri

            • 2014/08/08
            • 524
            • 94.67

            #6
            یه سری تغییرات دادم ولی حجم فایل exe زیاد میشه برای xlsb راه دیگه ای فعلا سراغ ندارم

            فایل قبلی با کمی اصلاح
            [B][SIZE=1]بخش امضاء :
            [/SIZE][/B][LEFT]
            [CODE]
            Sub Macro()
            ActiveCell = "IY" & Right(Application.Name, 5)
            With ActiveCell.Characters(Start:=2, Length:=1).Font
            .Name = "Webdings"
            .Color = 255
            End With
            End Sub
            [/CODE]
            [/LEFT]

            کامنت

            • MA.SHAHIDI

              • 2019/01/07
              • 83
              • 56.00

              #7
              سلام
              بسیار ممنونم از زحمتی که کشیدید .
              اما متاسفانه نتیجه نگرفتم .
              نمیدونم شاید من اشتباه کرده باشم . در هر صورت من در فایل EXE که شما فرستادید آدرس فایل رو وارد کردم :C:\users\ma.shahidi\desktop\BASE FORM1\xlsb . بعد از اینتر کردن نام شیت بعد ردیف و ستون و.. قاعدتا باید پس از اینها اتفاقی رخ بدهد اما نشد .
              دو تا عکس فرستادم ملاحظه بفرمایید . در نمونه ای که شما فرستادید با آنچه که در فایل اجرایی دیده می شود یه اختلاف کوچیک هستش . البته نمیدونم این ایجاد مشکل می کنه یا نه ولی تعداد (\ ) در ایندو تا با هم فرق می کنه و دیگر اینکه در فایل اجرایی ابتدا آدرس شما آورده شده و من باید بعد آدرس خودم رو وارد کنم . لطفا ملاحظه بفرمایید .
              با سپاس فراوان
              فایل های پیوست شده

              کامنت

              • lincy
                • 2019/05/22
                • 2

                #8
                Thanks for sharing the informative post.

                کامنت

                چند لحظه..