如何不刷新backgroundQuery vba

声明:本页面是StackOverFlow热门问题的中英对照翻译,遵循CC BY-SA 4.0协议,如果您需要使用它,必须同样遵循CC BY-SA许可,注明原文地址和作者信息,同时你必须将它归于原作者(不是我):StackOverFlow 原文地址: http://stackoverflow.com/questions/19162599/
Warning: these are provided under cc-by-sa 4.0 license. You are free to use/share it, But you must attribute it to the original authors (not me): StackOverFlow

提示:将鼠标放在中文语句上可以显示对应的英文。显示中英文
时间:2020-09-11 23:37:37  来源:igfitidea点击:

How to NOT refresh backgroundQuery vba

excelvbaexcel-vbawebrefresh

提问by Abi

Does anyone know how to stop the refresh query table to constantly refreshing and only refresh itself once. he constant refresh, is making my excel spreadsheet run slow.

有谁知道如何停止刷新查询表不断刷新,只刷新一次。他不断刷新,使我的 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

回答by Doug Glancy

Change this line:

改变这一行:

.BackgroundQuery = True

to:

到:

.BackgroundQuery = False

回答by enderland

Use Application.ScreenUpdatingto wrap your code.

使用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

You might also be interested in setting Application.Calculationto xlCalculationManualbefore a large operation and then setting it to xlCalculationAutomaticafter you are done.

您可能还对在大型操作之前将Application.Calculation设置为xlCalculationManual然后xlCalculationAutomatic在完成之后设置它感兴趣。