У меня есть книга с несколькими листами, которые я экспортирую в Excel через VBA Script. На одном из листов, который я экспортирую, есть соединение с БД для получения значений за этот отчетный период. Когда я экспортирую в Excel, я замечаю, что соединение с БД все еще существует. Есть ли фрагмент кода, который я могу использовать для экспорта значений в листе, но удалить соединение с БД? Ниже приведен скрипт, который я сейчас использую для ежедневного экспорта отчета. Спасибо!
Sub refreshsummary()
' refreshsummary Macro
Dim strdate As String
'Refresh Data Summary View
Sheets("Data").Select
Range("b1").Select
Selection.ListObject.QueryTable.Refresh BackgroundQuery:=False
'Fill Down Formula for Summary Data
Sheets("Data").Select
Range("A2:A10000" & LastRow).Formula = "=B2&"" ""&C2&"" ""&E2&"" ""&F2&"" ""&G2&"" ""&D2"
'Refresh Data Export View
Sheets("Data Export").Select
Range("a1").Select
Selection.ListObject.QueryTable.Refresh BackgroundQuery:=False
Sheets("Control").Select
strdate = Format(Range("c2").Value, "mmm-dd-yyyy")
ActiveWorkbook.Save
'excel read only
Application.DisplayAlerts = False
Sheets(Array("Template", "Data Export", "Sales Breakdown")).Copy
Dim ExternalLinks As Variant
Dim x As Long
'Create an Array of all External Links stored in Workbook
ExternalLinks = ActiveWorkbook.LinkSources(Type:=xlLinkTypeExcelLinks)
'Loop Through each External Link in ActiveWorkbook and Break it
For x = 1 To UBound(ExternalLinks)
ActiveWorkbook.BreakLink Name:=ExternalLinks(x), Type:=xlLinkTypeExcelLinks
Next x
'Removes Formulas
Dim sh As Worksheet
For Each sh In ActiveWorkbook.Worksheets
With sh.Cells
.Copy
.PasteSpecial xlPasteValuesAndNumberFormats
End With
Next sh
ActiveWorkbook.SaveAs Filename:="MYFILE.xlsx", FileFormat:=51, CreateBackup:=False
'End If
End Sub