使用Excel VBA在Word中插入标题 - 位于下方(不在上方!)

时间:2017-10-08 01:30:16

标签: excel vba excel-vba ms-word word-vba

我在Excel中使用以下代码将图片插入Word。出于某种原因,当最后一行运行时,即使我已将位置标记为wdCaptionPositionBelow,也会在图片上方添​​加 。有谁知道为什么会这样或者如何修复它?

import java.awt.*;
import javax.swing.*;


public class Test extends JPanel {


  public static void main(String[] args) {

    JFrame frame = new JFrame();
    frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
    frame.setSize(new Dimension(300, 300));
    frame.setVisible(true);
    frame.getContentPane().add(new Test());


    for (int k = 0; k < 1_000_000; k++) {
      frame.repaint();
      try {
        Thread.sleep(10);
      } catch (InterruptedException e) {
        e.printStackTrace();
        System.exit(1);
      }
    }

    frame.dispose();
    System.exit(0);
  }



  private int k = 0;

  public Test() {
    super();
  }

  @Override public void paintComponent(Graphics g) {
    super.paintComponent(g);

    g.setColor(Color.WHITE);
    g.fillRect(0, 0, getWidth(), getHeight());

    g.setColor(Color.BLACK);
    int height = (int) (((k * 0.01) % 1) * getHeight());
    g.drawLine(
      0, height,
      getWidth(), height
      );

    k++;

  }

}

1 个答案:

答案 0 :(得分:0)

如果您没有在项目中包含对Word对象库的引用,那么该库中定义的常量都不可供您使用。

在该库中,常量wdCaptionPositionBelow的值为1,而常量wdCaptionPositionAbove的值为0

如果没有库引用,您的wdCaptionPositionBelow将被视为变量,除非您设置了它的值,否则它将默认为零 - 相当于使用库中的wdCaptionPositionAbove