小编Yur*_*rov的帖子

刷新所有图表而不闪烁

目的是在重新计算单元格后刷新Excel中的所有图表.

我使用Microsoft Excel 2010.

我们知道,有一个错误?在Excel中,即使之后Excel也不会更新图表

Application.CalculateFullRebuild
Run Code Online (Sandbox Code Playgroud)

一个已知的黑客是做这样的事情:

Application.ScreenUpdating = False
Temp = ActiveCell.ColumnWidth
ActiveCell.Columns.AutoFit
ActiveCell.ColumnWidth = Temp
Application.ScreenUpdating = True
Run Code Online (Sandbox Code Playgroud)

这确实有效.但是,所有Excel图表都会闪烁(更新时它们会变白).你能告诉我,有什么方法可以避免这种眨眼吗?

我试着打电话

.Refresh
Run Code Online (Sandbox Code Playgroud)

在所有图表上(https://msdn.microsoft.com/en-us/library/office/ff198180(v=office.14).aspx):

For Each ChartObject In ActiveSheet.ChartObjects
    ChartObject.Refresh
Next
Run Code Online (Sandbox Code Playgroud)

但由于某种原因,我的Excel(2010)显示错误#438"对象不支持此属性或方法".

你能告诉我,我是否会错过重要的事情?

excel vba excel-vba

4
推荐指数
2
解决办法
3万
查看次数

Metacircular评估员,实施环境

我正在尝试根据Harold Abelson和Gerald Jay Sussman着名的"计算机程序的结构和解释"一书中的方案实施Metacircular Evaluator.

http://mitpress.mit.edu/sicp/full-text/sicp/book/node79.html,http://mitpress.mit.edu/sicp/full-text/sicp/book/node80.html

作者建议以这种方式设置环境:

(define (define-variable! var val env)
  (let ((frame (first-frame env)))
    (define (scan vars vals)
      (cond ((null? vars)
             (add-binding-to-frame! var val frame))
            ((eq? var (car vars))
             (set-car! vals val))
            (else (scan (cdr vars) (cdr vals)))))
    (scan (frame-variables frame)
          (frame-values frame))))

(define (setup-environment)
  (let ((initial-env
         (extend-environment (primitive-procedure-names)
                             (primitive-procedure-objects)
                             the-empty-environment)))
    (define-variable! 'true true initial-env)
    (define-variable! 'false false initial-env)
    initial-env))
Run Code Online (Sandbox Code Playgroud)

但是,我无法理解为什么

(define myenv (setup-environment))
Run Code Online (Sandbox Code Playgroud)

应该像我们在Scheme中所期望的那样工作,因为,据我所知,Scheme默认情况下将变量按值传递给函数,因此在将"define-variable!"应用于initial-env两次之后,每次都不会更改initial-env ,并且setup-environment函数将在extend-environment返回时返回值.

我的理解错误在哪里,你能告诉我吗?

先感谢您!

lisp scheme interpreter sicp metacircular

3
推荐指数
1
解决办法
494
查看次数

标签 统计

excel ×1

excel-vba ×1

interpreter ×1

lisp ×1

metacircular ×1

scheme ×1

sicp ×1

vba ×1