谁能告诉我如何撤消对工作簿的所有更改?我有文件 excel1.xlsx,我使用 vba 对 excel.xlsx 进行了排序和许多操作。但最后我希望 excel1.xlsx 与开始时相同。如何使用 vba 撤消所有更改?
activeworkbook.saved = True
Run Code Online (Sandbox Code Playgroud)
我发现它保留了开始时的所有内容,但它不起作用。所以有什么命令可以在对它执行操作后取回我的原始文件。嗯,是
wb1.Sheets(1).Activate
ActiveWorkbook.Close savechanges:=False
Run Code Online (Sandbox Code Playgroud)
它有效,但我不希望我的工作簿被关闭它应该仍然打开。我该怎么做?提前致谢。
Excel Interop正在从已处理的文件中删除图像.
我正在使用Excel Interop,没有第三方组件(我知道).工作流程是 - 创建文件(模板)的副本(目标),填充单元格,更改单选按钮状态
在我的开发机器上,目标文件看起来很棒 - 所有内容都已填充,图像存在.注意:在我的开发机器上,我正在运行VS2010 IDE中的代码.
在生产机器上 - 一切都已填充,但图像不存在.相反,会出现以下错误: NB:在生产计算机上,它作为服务运行,具有本地服务帐户.
"在文件中找不到关系ID为rId1的图像部分"

通过以下代码打开整个工作簿:
var workbook = workbooks.Open(targetPath
0, false, 5, Type.Missing, Type.Missing, false, XlPlatform.xlWindows, "",
true, false, 0, true, false, false);
Run Code Online (Sandbox Code Playgroud)
请注意,代码中不会处理带有图像的工作表.
工作簿(和个人工作表)受到保护.但是,受保护的模板在开发中正确处理,但不在生产中.我不认为保护与它有任何关系(但谁知道,对吧?这是Interop.呃).
该文件由另一方创建,所有组件(即图像)都位于.xslm结构中,而不是作为另一个服务器的链接.
我已经验证图像在模板文件中的生产计算机上可见,但不在处理过的文件中.
为了确认这不是在制作中打开文件的问题,我通过电子邮件发送了一份副本,图像仍然不存在.
我还确认,在我的开发机器上,处理过的文件确实有可见的图像.
我不保护工作表,并解压缩文件结构..jpg文件确实不存在于生产机器的已处理目标中.
还有一个注意事项 - Office 2010安装在我的开发计算机上,但是Office 2007安装在生产计算机上.结果,我正在使用Office 12 Interop.在任一环境中都不会生成运行时错误.
我正在使用Interop(而不是OpenXml库),因为存在必须填充的ActiveX控件.但请注意,没有任何ActiveX控件存在任何问题 - 它们工作正常.它只是从处理过的文件中消失的图像文件(它们在模板文件中呈现得很好).
更新说明:还有其他四个图像文件,全部.emf在不同的工作表上; 他们都被剥夺了.
我想在Excel中分层折叠/展开,或者在Excel中然后在任何其他应用程序中分层折叠/展开。例如我有:
ABC
-abcd
-abc1
-abc2
-a1
-a2
-MM2
-NN2
-a3
-abc3
Run Code Online (Sandbox Code Playgroud)
当我想看到的是:
+ABC _further if I expand ABC- I should get_
ABC
-abcd
-abc1
+abc2 _likewise_.
Run Code Online (Sandbox Code Playgroud)
我在MS-EXCEL中尝试了数据分组和取消分组,但是没有成功,也没有在互联网上找到满意的答案。
当我设置自定义数字格式时#0.####,它可以很好地处理整数123& 123.23,但它不能处理像这样的十进制数字123.00,因为它显示为123.
如何设置正确的数字格式以免.末尾显示 ?
以下excel公式工作正常但在某些情况下它没有给我适当的价值.
输入:
19:20:42
24:58:36
26:11:18
Run Code Online (Sandbox Code Playgroud)
使用此公式后:
=IF(TIMEVALUE(K7)>TIMEVALUE("09:00:00"),TRUE,FALSE)
Run Code Online (Sandbox Code Playgroud)
我得到以下输出:
FALSE
TRUE
TRUE
Run Code Online (Sandbox Code Playgroud)
如果时间值>或= 24:00:00,我会观察到它不会给我正确的答案.我该如何解决?
我有一列数据:
纽约真的很好,456983 美食
北京很棒 678932,文化很好。
... 等等
我想提取六位数字并将其放置在原始列旁边的列中。
有 n 行。
有没有办法不用VBA,用公式来做到这一点?
我如何og:image从资源中获取VBA excel 2007
例如,这个网址:
https://www.bbc.com/reel/video/p08jgfdg/the-truth-about-christopher-columbus
Run Code Online (Sandbox Code Playgroud) 我想替换以下内容:
txt1.Text = ""
txt2.Text = ""
txt3.Text = ""
txt4.text = ""
...continues for quite awhile
Run Code Online (Sandbox Code Playgroud)
附:
Dim cCont As Control
For Each cCont In Me.Controls
If TypeName(cCont) = "TextBox" Then
'reset textbox value
???
End If
Next cCont
Run Code Online (Sandbox Code Playgroud)
如何使用通用"控件"来引用文本框?
我正在尝试从CSV文件中获取数据,通过使用fill()方法我得到了一个异常idk为什么会出现,请查看代码并建议乐观的answer.note如果参数"s"没有任何空格意味着它工作精细.如果它有空间意味着如何克服它,不建议临时重命名和所有.
/// <summary>
/// Import Function For CSV Delimeted File
/// </summary>
/// <param name="s">File Name</param>
private DataTable Import4csv(string s)
{
string file = Path.GetFileName(s);
string dir = Path.GetDirectoryName(s);
string sConnection = "Provider=Microsoft.Jet.OLEDB.4.0;"
+ "Data Source=\"" + dir + "\\\";"
+ "Extended Properties=\"text;HDR=YES;FMT=Delimited\"";
try
{
var objConn = new OleDbConnection(sConnection);
objConn.Open();
var ds = new DataSet();
var da = new OleDbDataAdapter("SELECT * FROM " + file, sConnection);
da.Fill(ds); // getting exception on this line.
objConn.Close();
return ds.Tables[0];
}
catch (Exception …Run Code Online (Sandbox Code Playgroud)