نمایش نتایج 1 تا 5 از 5

نام تاپیک: بستن فابلهای باز اکسل از داخل اکسس

  1. #1
    کاربر دائمی
    تاریخ عضویت
    آذر 1384
    محل زندگی
    هر کجا هستم باشم آسمان مال من است پنجره -فکر- هوا- عشق- زمین مال من است.
    پست
    875

    بستن فابلهای باز اکسل از داخل اکسس

    با سلام
    جهت جلوگیری از خطاهای احتمالی در گزارشگیری با اکسل میخوایم فایلهای باز اکسل رو از یه محل خاص یا از کل درایورهای سیستم ببندیم چه روشی را پیشنهاد می فرمائید. با تشکر
    آخرین ویرایش به وسیله moustafa : یک شنبه 27 خرداد 1403 در 02:20 صبح

  2. #2
    کاربر دائمی
    تاریخ عضویت
    آذر 1384
    محل زندگی
    هر کجا هستم باشم آسمان مال من است پنجره -فکر- هوا- عشق- زمین مال من است.
    پست
    875

    نقل قول: بستن فابلهای باز اکسل از داخل اکسس

    پیدا کردم بستن فایل اکسل با یک نام مشخص در هر جایی از کامپیوتر
    '---------------------------------------------------------------------------------------
    ' Procedure : XL_CloseWrkBk
    ' Author : Daniel Pineault, CARDA Consultants Inc.
    ' Website : http://www.cardaconsultants.com
    ' Purpose : Close a specifc Excel WorkBook
    ' Copyright : The following is release as Attribution-ShareAlike 4.0 International
    ' (CC BY-SA 4.0) - https://creativecommons.org/licenses/by-sa/4.0/
    ' Req'd Refs: Uses Late Binding, so none required
    '
    ' Input Variables:
    ' ~~~~~~~~~~~~~~~~
    ' sFileName : Filename (w ext) of the Excel WorkBook to close
    '
    ' Usage:
    ' ~~~~~~
    ' Call XL_CloseWrkBk("Accounts.xlsx")
    ' Call XL_CloseWrkBk("Accounts.xlsx", True)
    '
    ' Revision History:
    ' Rev Date(yyyy/mm/dd) Description
    ' ************************************************** ************************************
    ' 1 2018-11-30 Initial Release (Forum help)
    '---------------------------------------------------------------------------------------
    Public Sub XL_CloseWrkBk(sFileName As String, Optional bSaveChanges As Boolean = False)
    Dim oExcel As Object
    Dim oWrkBk As Object

    On Error Resume Next
    Set oExcel = GetObject(, "Excel.Application") 'Bind to existing instance of Excel
    If Err.Number <> 0 Then 'Excel isn't running
    Err.Clear
    GoTo Error_Handler_Exit
    End If

    On Error GoTo Error_Handler
    ' oExcel.WorkBooks(sFileName).Close
    'Iterate through the open workbooks
    For Each oWrkBk In oExcel.WorkBooks
    If oWrkBk.Name = sFileName Then
    oWrkBk.Close SaveChanges:=bSaveChanges 'Adjust the SaveChanges as suits your needs
    End If
    Next oWrkBk

    'Close Excel if no other WorkBooks are open
    If oExcel.WorkBooks.Count = 0 Then oExcel.Quit

    Error_Handler_Exit:
    On Error Resume Next
    If Not oWrkBk Is Nothing Then Set oWrkBk = Nothing
    If Not oExcel Is Nothing Then Set oExcel = Nothing
    Exit Sub

    Error_Handler:
    MsgBox "The following error has occurred" & vbCrLf & vbCrLf & _
    "Error Number: " & Err.Number & vbCrLf & _
    "Error Source: XL_CloseWrkBk" & vbCrLf & _
    "Error Description: " & Err.Description & _
    Switch(Erl = 0, "", Erl <> 0, vbCrLf & "Line No: " & Erl) _
    , vbOKOnly + vbCritical, "An Error has Occurred!"
    Resume Error_Handler_Exit
    End Sub

  3. #3
    کاربر دائمی
    تاریخ عضویت
    آذر 1384
    محل زندگی
    هر کجا هستم باشم آسمان مال من است پنجره -فکر- هوا- عشق- زمین مال من است.
    پست
    875

    نقل قول: بستن فابلهای باز اکسل از داخل اکسس

    با اندکی ویرایش برای هر فایل اکسلی در هر جایی از کامپیوتر
    کد HTML:
    Public Sub XL_CloseAnyWrkBk(Optional bSaveChanges As Boolean = False)
        Dim oExcel                As Object
        Dim oWrkBk                As Object
    
        On Error Resume Next
        Set oExcel = GetObject(, "Excel.Application")    'Bind to existing instance of Excel
        If err.Number <> 0 Then    'Excel isn't running
            err.Clear
            GoTo Error_Handler_Exit
        End If
    
        On Error GoTo Error_Handler
        '    oExcel.WorkBooks(sFileName).Close
        'Iterate through the open workbooks
        For Each oWrkBk In oExcel.Workbooks
            If oWrkBk.NAME <> "" Then
                oWrkBk.Close SaveChanges:=bSaveChanges    'Adjust the SaveChanges as suits your needs
            End If
        Next oWrkBk
    
        'Close Excel if no other WorkBooks are open
        If oExcel.Workbooks.Count = 0 Then oExcel.Quit
    
    Error_Handler_Exit:
        On Error Resume Next
        If Not oWrkBk Is Nothing Then Set oWrkBk = Nothing
        If Not oExcel Is Nothing Then Set oExcel = Nothing
        Exit Sub
    
    Error_Handler:
        MsgBox "The following error has occurred" & vbCrLf & vbCrLf & _
               "Error Number: " & err.Number & vbCrLf & _
               "Error Source: XL_CloseWrkBk" & vbCrLf & _
               "Error Description: " & err.Description & _
               Switch(Erl = 0, "", Erl <> 0, vbCrLf & "Line No: " & Erl) _
               , vbOKOnly + vbCritical, "An Error has Occurred!"
        Resume Error_Handler_Exit
    End Sub

  4. #4
    کاربر دائمی آواتار mazoolagh
    تاریخ عضویت
    اردیبهشت 1384
    سن
    71
    پست
    3,140

    نقل قول: بستن فابلهای باز اکسل از داخل اکسس

    سلام و روز خوش
    این که کدها رو پیوست کردین بسیار کار خوبیه.

    فکر کنم این تاپیک با خطا در اتصال اکسس به اکسل (barnamenevis.org) در ارتباط یا به شکلی ادامه اون باشه.

    اگر این فایل های اکسل رو خودتون باز کردین که کافی هست موارد مربوط به بستن workbook و application رو رعایت کنین.

    اگر خارج از برنامه شما باز شده پیشنهاد میکنم یک اسکریپت powershell بنویسین و اون رو اجرا کنین،
    بهتر از این هست که از داخل اکسس انجام بدین.

  5. #5
    کاربر دائمی
    تاریخ عضویت
    آذر 1384
    محل زندگی
    هر کجا هستم باشم آسمان مال من است پنجره -فکر- هوا- عشق- زمین مال من است.
    پست
    875

    نقل قول: بستن فابلهای باز اکسل از داخل اکسس

    نقل قول نوشته شده توسط mazoolagh مشاهده تاپیک
    سلام و روز خوش
    این که کدها رو پیوست کردین بسیار کار خوبیه.

    فکر کنم این تاپیک با خطا در اتصال اکسس به اکسل (barnamenevis.org) در ارتباط یا به شکلی ادامه اون باشه.

    اگر این فایل های اکسل رو خودتون باز کردین که کافی هست موارد مربوط به بستن workbook و application رو رعایت کنین.

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

تاپیک های مشابه

  1. استفاده از فایل اکسس بدون نصب مایکروسافت اکسس
    نوشته شده توسط seyed ehsan در بخش مطالب مرتبط با بانکهای اطلاعاتی در VB6
    پاسخ: 3
    آخرین پست: شنبه 24 مرداد 1394, 12:49 عصر
  2. پاسخ: 5
    آخرین پست: جمعه 02 خرداد 1393, 17:48 عصر
  3. پاسخ: 1
    آخرین پست: دوشنبه 18 شهریور 1392, 17:45 عصر
  4. پاسخ: 8
    آخرین پست: دوشنبه 07 اسفند 1391, 12:12 عصر
  5. پاسخ: 6
    آخرین پست: دوشنبه 10 مهر 1391, 19:21 عصر

قوانین ایجاد تاپیک در تالار

  • شما نمی توانید تاپیک جدید ایجاد کنید
  • شما نمی توانید به تاپیک ها پاسخ دهید
  • شما نمی توانید ضمیمه ارسال کنید
  • شما نمی توانید پاسخ هایتان را ویرایش کنید
  •