使用VBA将带有可编辑单元格的表格从Excel粘贴到Powerpoint

时间:2017-01-23 15:37:51

标签: vba excel-vba powerpoint excel

我有一些VBA成功地从Excel复制单元格数据并粘贴到给定模板的给定powerpoint幻灯片中。

但是,对于粘贴的对象,我无法根据需要选择单个单元格和格式。我假设这与粘贴类型的工作方式有关 - 我需要将它更改为VBA代码以使其粘贴,以便我可以操作单元格的内容?

如果我手动复制Excel中的一些单元格,然后手动粘贴特殊的"保持源格式(K)"一旦在powerpoint中,我得到一个可编辑的表,我可以更改单元格间距,插入新行等。如果我可以手动执行,肯定可以使用VBA完成?

以下是我执行粘贴的代码:

const Item = props => (
    <li>{props.time}</li>
);

class List extends React.Component
{
    constructor() {
        super();
        this.state = {
            items: []
        };

        this.addItem = this.addItem.bind(this);
        this.removeItem = this.removeItem.bind(this);
    }

    addItem() {
        let item = {
            id: this.state.items.length + 1,
            time: +new Date()
        };

        this.setState({
            items: this.state.items.concat([item])
        });
    }

    removeItem() {
        this.setState({
            items: this.state.items.concat().splice(1)
        });
    }

    render() {
        return (
            <div>
                <button onClick={this.addItem}>Add Item</button>
                <button onClick={this.removeItem}>Remove Item</button>
                <ul className='list'>
                {this.state.items.map(item => (
                    <Item key={item.id} time={item.time} />
                ))}
                </ul>
            </div>
        );
    }
}

1 个答案:

答案 0 :(得分:1)

如果您更改了该行:

PPslide.Shapes.PasteSpecial DataType:=ppPasteOLEObject, Link:=msoFalse

PPslide.Shapes.PasteSpecial DataType:=ppPasteHTML, Link:=msoFalse 

它会将范围插入为可编辑的HTML,就像您自己复制/粘贴该范围一样。

有关其他选项,请参阅https://msdn.microsoft.com/en-us/library/office/ff745158.aspx