Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/excel/23.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Excel 从特定单元格中提取数据以作为电子邮件中的文本加载_Excel_Email_Outlook.application_Vba - Fatal编程技术网

Excel 从特定单元格中提取数据以作为电子邮件中的文本加载

Excel 从特定单元格中提取数据以作为电子邮件中的文本加载,excel,email,outlook.application,vba,Excel,Email,Outlook.application,Vba,我试图通过单击按钮生成电子邮件,并让它从按钮所在行的第一个单元格加载数据(作为电子邮件的主题行) 示例:在第22行中,我在第X列中放置了一个按钮,单击该按钮时,它将创建一封电子邮件,使用单元格A22作为电子邮件的主题 我知道如何通过将主题行数据直接输入脚本来实现这一点,但我希望避免为电子表格中的大量行创建数百个脚本 以下是我目前使用的手动输入方法: 我只需要从对应按钮行的A列填充主题。 我想我需要创建另一个对象,但我不确定正确的代码是什么,也不确定如何让脚本为“.subject=”提取它 以

我试图通过单击按钮生成电子邮件,并让它从按钮所在行的第一个单元格加载数据(作为电子邮件的主题行)

示例:在第22行中,我在第X列中放置了一个按钮,单击该按钮时,它将创建一封电子邮件,使用单元格A22作为电子邮件的主题

我知道如何通过将主题行数据直接输入脚本来实现这一点,但我希望避免为电子表格中的大量行创建数百个脚本

以下是我目前使用的手动输入方法:



我只需要从对应按钮行的A列填充主题。 我想我需要创建另一个对象,但我不确定正确的代码是什么,也不确定如何让脚本为“.subject=”提取它

以下是我尝试过的基本数据:

► ActiveSheet.Buttons(Application.Caller).TopLeftCell

► “按下按钮的行:”&ActiveSheet.ShapeApplication.Caller)。TopLeftCell.Row

► Dim SubjectTo作为字符串
SubjectTo=单元格(XXX,XXX)。值
.主语

网络上还有很多其他的建议

所有人都在他们的原始脚本中工作,但我不知道如何将它们合并到我正在尝试做的事情中


我甚至尝试使用表单形状而不是ActiveX按钮。

从您的代码示例中,似乎您使用的是ActiveX样式按钮。我不知道如何通过ActiveX按钮确定行号,但如果切换到表单控件类型按钮,则检索行很容易

Sub Button2_Click()
    MsgBox ActiveSheet.Shapes(Application.Caller).TopLeftCell.Row
End Sub

对于大量行,每行有一个按钮是不切实际的。您可以有一个按钮,该按钮依赖于所选单元格或activecell来标识行。另一种可能是一个事件宏,每当双击其中一行时就会打开一封电子邮件(因此根本没有按钮)。

尝试修改。@findwindow-我不知道该链接有多重要。OP似乎想找到一种方法来识别
.Cells(22,1).Value
当点击位于第22行的按钮时。@Jeeped
在第22行,我将一个按钮放在X列,当点击它时,它会创建一封电子邮件,使用单元格A22作为主题
听起来像OP将一个按钮放在
X22
上,当点击它时,从
A22
@findwindow中提取主题-是的,但OP可能有多行按钮。看看非工作尝试的例子,似乎识别第22行(或23或24行用于不同的按钮)是个问题。呃,我想我不明白OP想要完成XD编辑的是什么:为每个主题设置一个按钮真是做作。。。。
Sub Button2_Click()
    MsgBox ActiveSheet.Shapes(Application.Caller).TopLeftCell.Row
End Sub