如何不刷新backgroundQuery vba

时间:2013-10-03 15:02:40

标签: excel vba excel-vba web refresh

有没有人知道如何停止刷新查询表以不断刷新并只刷新一次。他经常刷新,让我的excel电子表格运行缓慢。

With ActiveSheet.QueryTables.Add(Connection:= _
        "URL;" & FilePath, _
       Destination:=temp.Range("A1"))
   .Name = "Deloitte_2013_08"
    '    .CommandType = 0
       .FieldNames = True
       .RowNumbers = False
      .FillAdjacentFormulas = False
     .PreserveFormatting = True
    .RefreshOnFileOpen = False
   .BackgroundQuery = True
  .RefreshStyle = xlInsertDeleteCells
 .SavePassword = False
.SaveData = True
        .AdjustColumnWidth = True
  .RefreshPeriod = 0
      .WebSelectionType = xlEntirePage
     .WebFormatting = xlWebFormattingNone
    .WebPreFormattedTextToColumns = True
   .WebConsecutiveDelimitersAsOne = True
  .WebSingleBlockTextImport = False
 .WebDisableDateRecognition = False
.WebDisableRedirections = False

       .Refresh BackgroundQuery:=False

End With

2 个答案:

答案 0 :(得分:3)

更改此行:

.BackgroundQuery = True

为:

.BackgroundQuery = False

答案 1 :(得分:0)

使用Application.ScreenUpdating打包您的代码。

application.screenupdating = false
With ActiveSheet.QueryTables.Add(Connection:= _
        "URL;" & FilePath, _
       Destination:=temp.Range("A1"))
   .Name = "Deloitte_2013_08"
    '    .CommandType = 0
       .FieldNames = True
       .RowNumbers = False
      .FillAdjacentFormulas = False
     .PreserveFormatting = True
    .RefreshOnFileOpen = False
   .BackgroundQuery = True
  .RefreshStyle = xlInsertDeleteCells
 .SavePassword = False
.SaveData = True
        .AdjustColumnWidth = True
  .RefreshPeriod = 0
      .WebSelectionType = xlEntirePage
     .WebFormatting = xlWebFormattingNone
    .WebPreFormattedTextToColumns = True
   .WebConsecutiveDelimitersAsOne = True
  .WebSingleBlockTextImport = False
 .WebDisableDateRecognition = False
.WebDisableRedirections = False

       .Refresh BackgroundQuery:=False

End With

application.screenupdating = true

您可能还有兴趣在大型操作之前将Application.Calculation设置为xlCalculationManual,然后在完成后将其设置为xlCalculationAutomatic