2010-03-27 75 views
3

所以我有一个excel工作簿,它具有一个很好的shaperange对象的全局映射。通过一些非常简单的代码,我可以改变颜色,将国家的集合分组和取消组合等等,并且它工作得很好。不过,我想把它带入Access。从Access打开Excel文件并将图片复制到Access窗体

因此,我可以手动将所有形状复制并粘贴到访问表单中,但之后它们会变成图片,我无法更改各个国家(形状对象)的颜色以使地图在Excel中可以交互式操作。

所以我想我知道如何使用excel功能从访问,以及如何从访问打开excel。有没有办法从Excel中复制一个对象(我知道文件名和形状名称,我的意思是复制每次),并将其返回访问粘贴在窗体上?

非典型,我知道,我所有的Access问题都是。谢谢!

编辑:

我会很乐意来阐述我的一半疯狂的想法。所以我知道如何打开一个新的excel实例,或者在场景后面打开一个模板(而不是实际使其可见)。而且我知道如何使用vba来执行excel任务,从访问模块.....甚至可以通过访问来运行公式和excel函数。我有这个交互式的地图程序,与Excel模块一起工作,但我想让他们成为访问表单的一部分。

因此,要回答下面的问题,如果我可以找到与excel中的复制和image/shaperange对象的缺失链接,并将其复制到访问表单中,那么我可以编写代码,以便始终抓取我的excel中的形状模板格式在Excel中复制和粘贴到访问表单中的形状,其中布局格式可以发生。当用户在表单上选择某些内容时,我想要包含具有相关颜色/阴影等的全局地图区域...访问将始终从文件/目录中的对象集合中获取预定义的地图片段, excel模板。我的想法是在选择之后,我会对形状进行格式化,就像我已经用vba做过的那样,然后ole.copy和ole.paste回到访问表单中。如果这是一张图片,那没关系。至少为形状本身

很多代码,但我认为这是值得尝试将excel和这个shaperange基于对象的地图合并到一个表单环境,如访问表单!很奇怪,但它可能很好?一些奇怪的非典型事物已成为我的访问数据库中的主要产品。

回答

1

那么你会问这样的:

“所以,我可以复制和所有的形状手工粘贴到一个访问形式,但后来他们成为图片,我不能改变国家的颜色(shaperange对象),以便我可以在Excel中以交互方式进行交互操作

“所以我想我知道如何使用excel函数访问,以及如何从访问中打开excel。有没有办法复制从Excel对象(我知道文件的名称和形状的名字,我的意思是复制每次),并使其返回到访问的形式上粘贴?”

也许一些潜在的响应者正在问自己,为什么现在的解决方案不够好,无法粘贴到Access表单中,因为“然后他们变成了图片”,但是自动化您认为是不合格的相同过程是可以的。

也许会改写问题有助于。

+0

肯定....简短的回答。如果我自动化,那么我可以在使用现在使用的相同代码将其粘贴回访问之前进行格式化。用户点击访问,访问调用excel,形状被选择和格式化,带回访问,并出现在窗体上。 – Justin 2010-03-27 22:36:27

+0

详细描述什么构成您想要从Excel工作表中提取(复制)的对象。它是否位于照片顶部的绘图对象与下面的照片组合在一起 - 所有这些都将被收集在一起并在访问表单上复制?它只是一个Group(ed)组合的绘图对象,它们一起形成一个您想要复制到Access窗体的好图像? 你想在表单上模拟这张表上这件东西的集体组成? – user225626 2010-03-28 02:44:53

+0

另外,我猜OLE链接和嵌入已经结束了。请记住,您可以将其中的一个设置到您的表单中,并且您实际上将在该表单的该窗格的客户区中使用Excel。只是另一个想法。 (但是,绝不是唯一的方法,只需给我们一些关于Excel Sheet究竟是什么的更多信息。)。 – user225626 2010-03-28 03:08:32