اذهب الي المحتوي
أوفيسنا

الردود الموصى بها

قام بنشر

اساتذة وخبراء هذا المنتدي الجميل جزاكم الله خيراً

اريد بعد الضغط علي الزر وحفظ الملف النصي - يبقي البرنامج الرئيسي كما هو -لا اريد تغير اسم الملف الرئيسي

 

الملف الملف الرئيسي.xlsm

قام بنشر
Sub Test()
    Dim sName As String
    sName = Cells.Text & "D:\" & Cells(1, 2).Text & " Copy" & Format(Now, "-dddd-dd-mm-yyyy-")
    SaveWorkbookAs ThisWorkbook, sName, xlTextWindows
End Sub

Public Function SaveWorkbookAs(pWorkbook As Workbook, pFileName As String, pFileFormat As XlFileFormat) As Boolean
    Dim wFSO As Scripting.FileSystemObject, wWorkbook As Workbook, wScreenUpdating As Boolean, wEnableEvents As Boolean, wDisplayAlerts As Boolean, wTempName As String
    On Error Resume Next
    SaveWorkbookAs = False
    Set wFSO = New Scripting.FileSystemObject
    If pWorkbook Is Nothing Then GoTo EndFunction
    If (pFileName = vbNullString) Then GoTo EndFunction
    If (pWorkbook.FileFormat = pFileFormat) Then
        Err.Clear
        pWorkbook.SaveCopyAs pFileName
        SaveWorkbookAs = (Err.Number = 0)
        GoTo EndFunction
    End If
    With Application
        wScreenUpdating = .ScreenUpdating:  .ScreenUpdating = False
        wEnableEvents = .EnableEvents:      .EnableEvents = False
        wDisplayAlerts = .DisplayAlerts:    .DisplayAlerts = False
    End With
    Err.Clear
    wTempName = wFSO.GetTempName
    pWorkbook.SaveCopyAs wTempName
    If (Err.Number > 0) Then GoTo EndFunction
    Err.Clear
    Set wWorkbook = Application.Workbooks.Open(wTempName, xlUpdateLinksNever)
    If (Err.Number > 0) Then GoTo EndFunction
    wWorkbook.SaveAs Filename:=pFileName, FileFormat:=pFileFormat
    SaveWorkbookAs = (Err.Number = 0)
    wWorkbook.Close SaveChanges:=False
EndFunction:
    If (VBA.LenB(wTempName) > 0) Then If wFSO.FileExists(wTempName) Then wFSO.DeleteFile wTempName, True
    With Application
        .ScreenUpdating = wScreenUpdating
        .EnableEvents = wEnableEvents
        .DisplayAlerts = wDisplayAlerts
    End With
    Set wWorkbook = Nothing: Set wFSO = Nothing
End Function

 

From Tools > References: Microsoft Scriting Runtime

  • Like 2
قام بنشر

اخي   lionheart  شكراً علي الرد

 

لم افهم  هذا الكود وما علاقتة بالمطلوب

المطلوب ان لا يتغير اسم الملف الرئيسي اسناء تنفيز الكود  المرفق بالمشاركة الالولي

انا عند ما اريد حفظ الشيت في ملف منفصل بأسم الخليه b1 بيتم تغير اسم الملف الرئيسي ايضاً وانا مش عايز  اسم الملف الرئيسي يتغير

جزاكم الله خيراً

قام بنشر
Run the macro called "Test". The macro will save a text file copy of the file as you wish exactly and in the same path as in your code.
Please try the code first before you post a reply.

 

  • Like 1
قام بنشر

i didn't get what you mean exactly

The code I posted is doing the same task as your code but keep the original workbook open. Please copy the code and insert it to a new module then go back to the worksheet then press Alt + F8 and run the code called "Test" and finally go to the partition d to see the text file output

  • Like 1
قام بنشر

اخي  lionheart 

الكود  دة شغال 100*100

المطلوب  : عند الضغط علي زر  حفظ نسخة ملف نصي -اريد  الماوس يقف في الشيت الرئيسي

Sub MZM16()
   MyNime = Cells.Text & "d:\" & Cells(1, 2).Text & Nombre & " نسخة" & Format(Now, "-dddd-dd-mm-yyyy-") & "" & ".txt"
ActiveWorkbook.SaveAs MyPathDirectory & MyNime, xlTextWindows
End Sub


 

قام بنشر

اخى الكريم  @محمد يوسف ابو يوسف

16 ساعات مضت, محمد يوسف ابو يوسف said:

لاادري مذا تقصد بهذه الاكواد

تمام انت صح في هذه النقطه

16 ساعات مضت, محمد يوسف ابو يوسف said:

وهي لم  تفي بالمطلوب

انت مخطئ في هذه النقطه

لان الكود جميل جدا ويفي بالمطلوب تماما وقد جربته ويعمل جيدا على ملفك

جزاه الله خيرا الاستاذ @lionheart على هذا الكود 

  • Like 2
قام بنشر

اخى الكريم  @محمد يوسف ابو يوسف

كيف تجعل اجابتى افضل اجابه وما هى الا ان وضعت لك الكود الخاص بالاستاذ @lionheart فاجابته هى التى تكون افضل اجابه وليس اجابتى 

اعطى كل زى حق حقه اخى الكريم 

  • Like 2
  • 4 weeks later...
  • أفضل إجابة
قام بنشر

بسم الله الرحمن الرحيم  والحمد الله رب العالمين

بعد البحث الكثير  داخل المنتدي وخارج المنتدي لم اجد ما اريد

ولكن صممت ان اوجد ما اريد 

والحمد لله  وفقني الله -- ان اكتب هذا الكود الجميل الذي يفي بألمطلوب 

وكررت ان اضعه للفائدة

كود تصدير مدي محدد الي ملف نصي وحفظه بأسم خليه معينة - علي برتيشن d

Sub dحفظ_ملف_تاست_بأسم_خلية_علي_برتيشن()
                  Range("A1:I108").Select
    Selection.Copy
    Workbooks.Add
    Selection.PasteSpecial Paste:=xlPasteAll, Operation:=xlNone, SkipBlanks:= _
        False, Transpose:=False
    Application.CutCopyMode = False
    ActiveWorkbook.SaveAs Filename:="D:\" & Cells(1, 2).Text & Nombre & " نسخة" & Format(Now, "-dddd-dd-mm-yyyy-") & ".txt", FileFormat:=xlText, _
        CreateBackup:=False
    ActiveWindow.Close
    Range("A1").Select
End Sub

تصدير البيانات الي ملف نصي وحفظة بأسم خلية معينه تصدير البيانات الي ملف نصي وحفظ بأسم خلية معينه.xls

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.

زائر
اضف رد علي هذا الموضوع....

×   Pasted as rich text.   Paste as plain text instead

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.

  • تصفح هذا الموضوع مؤخراً   0 اعضاء متواجدين الان

    • لايوجد اعضاء مسجلون يتصفحون هذه الصفحه
×
×
  • اضف...

Important Information