从VBA Excel文件打开一个单词模板,input一个数字并打印

到目前为止,我已经在问题/解决scheme方面取得了很大的成功,并且在excel vba中获得了大量的知识,但是又一次陷入了另一种问题。

这是我的情况:

我们做一个excel vba电子表格中序列化和跟踪的样本。 可以添加多行,并通过序列号进行标识。 每个发送的样本都包含一个也被序列化的信息表。 现在,当我们将序列号input到excel中时,我们必须手动input序列号到信息表中,打印并重复。 这有时候会浪费掉,因为有时我们必须一次发送40个样本。

我的理想解决scheme

我想采取我已经到位的用户表单进行数据input,并使用列表框来logginginput到电子表格中的所有样本。 由此,如果用户决定打印纸张,他可以按命令button来运行macros。 这个macros会将列表框项目(一次一个)input到单词模板文件中的特定部分,然后打印出来。 冲洗并重复。

我真的问:任何人都可以提供一个通用的代码,从Excel中打开一个Word文件,在指定的区域input一行,然后打印它。 我现在知道一些VBA,但是这有点儿超出了我的联盟,而且有点不合时宜。

编辑:通过指定我觉得,我想有select从列表框中的文本放置在工作表上的选项。 理想情况下,这将是右上angular和中右侧。 但我需要调整位置使其完美适合! 感谢您的帮助,答:

尝试使用以下代码。 我在里面添加了一些注释来解释你需要改变的东西。

重要! 使用代码中build议的选项1或选项2。

 Sub OpenWord_Place_Some_Text() Dim WRD As Object Set WRD = CreateObject("Word.Application") 'optional line to see Word applicaton WRD.Visible = True Dim DOC As Object 'Option 1. for new empty document...: Set DOC = WRD.Documents.Add 'or... 'Option 2. for existing document Set DOC = WRD.Documents.Open("C:\your folder\your document.docx") 'to place your text precisily in word document do it with TextBox 'set your LEFT, TOP, WIDTH, HEIGHT parameters based on experiments With DOC.Shapes.AddTextbox(msoTextOrientationHorizontal, Left:=100, Top:=100, Width:=100, Height:=100) .Line.Visible = msoFalse .TextFrame.TextRange.Text = "YOUR TEXT HERE" End With 'set active printer to one you use here WRD.ActivePrinter = "PDFCreator" 'print document DOC.PrintOut 'close document without saving DOC.Close False 'close application WRD.Quit Set WRD = Nothing End Sub