نمایش نتایج: از شماره 1 تا 4 , از مجموع 4

موضوع: ذخيره اطلاعات Sheet1 با فرمت Notepat

  1. #1


    آخرین بازدید
    2023/12/29
    تاریخ عضویت
    April 2011
    محل سکونت
    تهران
    نوشته ها
    50
    امتیاز
    5
    سپاس
    8
    سپاس شده
    5 در 4 پست
    تعیین سطح نشده است

    ذخيره اطلاعات Sheet1 با فرمت Notepat

    سلام و خسته نباشيد به دوستان عزير
    چطور مي تونم مثلا اطلاعات Sheet1 را با فرمت Notepat از طريق CommandButton در مسير Desktop ذخيره كنم
    با تشكر از لطف همه دوستان
    اخطار: این یک موضوع قدیمی است
    به دلیل قدیمی بودن موضوع، ممکن است برخی فایل های ضمیمه به درستی کار نکنند. لطفا در صورت عدم ضرورت، از بالا آوردن موضوعات قدیمی خودداری نمایید.

  2.  

  3. #2


    آخرین بازدید
    2014/02/12
    تاریخ عضویت
    October 2011
    نوشته ها
    56
    امتیاز
    18
    سپاس
    0
    سپاس شده
    11 در 7 پست
    تعیین سطح نشده است

    plc_pcb به Yahoo ارسال پیام

    RE: ذخيره اطلاعات Sheet1 با فرمت Notepat

    نقل قول نوشته اصلی توسط jeddi
    سلام و خسته نباشيد به دوستان عزير
    چطور مي تونم مثلا اطلاعات Sheet1 را با فرمت Notepat از طريق CommandButton در مسير Desktop ذخيره كنم
    با تشكر از لطف همه دوستان
    کل شیت رو میخوای یا یک قسمتی از شیت رو میخوای؟
    اگه برای کل شیت میخوای از کد زیر استفاده بکن

    [align=left]

    Sub txtfile()
    Dim a, b As String
    ActiveWorkbook.Save
    a = ActiveWorkbook.Path
    b = ActiveWorkbook.Name
    Application.DisplayAlerts = False
    ActiveWorkbook.SaveAs "C:\txtfile.txt", FileFormat:=20
    Workbooks.Open Filename:=a & "\" & b
    Workbooks("txtfile.txt").Close
    Application.DisplayAlerts = True
    End Sub
    [/align]

    مسیر فایل رو هم میتونی عوض کنی

  4. سپاس ها (1)


  5. #3


    آخرین بازدید
    2023/12/29
    تاریخ عضویت
    April 2011
    محل سکونت
    تهران
    نوشته ها
    50
    امتیاز
    5
    سپاس
    8
    سپاس شده
    5 در 4 پست
    تعیین سطح نشده است

    RE: ذخيره اطلاعات Sheet1 با فرمت Notepat

    دوست عزيز از حسن توجه شما متشكرم
    يه زحمت ديگه براتون دارم اگه ممكنه اين كد و برام معني كني يه قسمتي از آن را نمي فهمم
    Private Sub CommandButton3_Click()
    Set fs = CreateObject("Scripting.FileSystemObject")
    Set a = fs.CreateTextFile("c:\File jeddi.txt", True)
    n = 0
    n1 = 0
    For Each c In Range("I8:I108")
    If c <> "" Then
    n = n + 1
    End If
    Next
    For i = 0 To n + n1
    For i2 = 0 To 5
    tex = tex & "" & Sheet1.Range("I8").Offset(i, i2)
    Next i2
    a.WriteLine tex
    tex = ""
    Next
    MsgBox " فايل مورد نظر با موفقيت انجام شد."
    MsgBox " آدرس فايل ذخيره شده c:\File jeddi.txt "
    End Sub

  6. #4


    آخرین بازدید
    2014/02/12
    تاریخ عضویت
    October 2011
    نوشته ها
    56
    امتیاز
    18
    سپاس
    0
    سپاس شده
    11 در 7 پست
    تعیین سطح نشده است

    plc_pcb به Yahoo ارسال پیام

    RE: ذخيره اطلاعات Sheet1 با فرمت Notepat

    این کدی که نوشتی ایراد داره
    1- اطلاعات هر سلول رو پشت سر هم مینویسه و برای کسی که فایل رو میبینه خوانا نیست
    راه حلش اینکه یه tab توی کد زیر بزنی
    tex = tex & "" & Sheet1.Range("I8").Offset(i, i2)
    برای اینکه این مشکل حل بشه کد زیر رو جای کد بالا بزار
    tex = tex & " " & Sheet1.Range("I8").Offset(i, i2)
    2- اگر یکی از این خانه ها خالی باشه اطلاعات هر ستون میره تو ستون قبلیش و این یه ایراد خیلی بزرگه
    3-اگه خانه های شیت فایل اکسل شما مقادیر اطلاعات زیادی داشته باشه پیشنهاد میکنم از این کد استفاده نکنی چون ممکنه وقت زیادی بگیره ویا سیستمت هنگ کنه
    4- اگه شما در ستون I سلول خالی داشته باشید به همان تعداد سلول خالی از ردیف های اطلاعات شما کم میشه مثلا شما سلول I9,I10 را خالی قرار دهید و در سلول I11,I12,I8 مقادیر وارد کنید و بقیه خانه ها خالی باشه و ببینید چه اتفاقی میافتد (ردیف I12 از اطلاعات شما وجود ندارد)
    شرح برنامه:
    شما در این کد گفتین برای هر خانه که در رنج I8:I108 قرار داره و خالی نیست تعداد آنها رو در بیار (تعداد خانه هایی که خالی نیستند رو بدست میاره)و در متغیر n قرار بده
    For Each c In Range("I8:I108")
    If c <> "" Then
    n = n + 1
    End If
    Next
    بعد از دو تا حلقه تو رد تو استفاده کردین که همان طور که اطلاع داری حلقه تو در تو تولید ماتریس میکنه یعنی شما به وسیله این روش به صورت یک ماتریس در فایل txt اطلاعات خود را قرار میدهید

    For i = 0 To n + n1
    For i2 = 0 To 5
    tex = tex & "" & Sheet1.Range("I8").Offset(i, i2)
    Next i2
    a.WriteLine tex
    tex = ""
    Next
    این برنامه مشکلات زیادی داره و میتونه در آینده تولید کنه پیشنهاد میکنم از برنامه ای که اینجانب قرار داده ام استفاده کنید

    همیشه سعی کن در برنامه نویسی از راه حل هایی استفاده کنی که جامع باشند و با کمترین کد نویسی به هدف خود برسی و تحلیل خود را از برنامه به صوررت ساده به دست آوری و از خودت بپرس اگر این اتفاق بیافتد برنامه چه عکس العملی نشون میده و در راه رفع آن باش.


  7. سپاس ها (1)



اطلاعات موضوع

کاربرانی که در حال مشاهده این موضوع هستند

در حال حاضر 1 کاربر در حال مشاهده این موضوع است. (0 کاربران و 1 مهمان ها)

بازدید کنندگان با جستجو های زیر این صفحه را پیدا کرده اند

انجمن اكسل ايران , اكسل , اكسس , سوال و جواب اكسل , سوال اكسس , انجمن اكسل ايران , توابع اكسل, آموزش اكسل, آموزش اكسس, VBA, ويژوال بيسيك

علاقه مندی ها (Bookmarks)

مجوز های ارسال و ویرایش

  • شما نمیتوانید موضوع جدیدی ارسال کنید
  • شما امکان ارسال پاسخ را ندارید
  • شما نمیتوانید فایل پیوست کنید.
  • شما نمیتوانید پست های خود را ویرایش کنید
  •  
  • BB code ها فعال هستند
  • شکلک ها فعال هستند
  • کد [IMG] فعال است
  • کد [VIDEO] فعال است
  • کد HTML غیر فعال است
با ما در تماس باشيد