打开只读文件为非只读并保存/覆盖

时间:2011-09-21 19:27:31

标签: c# vb.net ms-word readonly

我正在转换一些word文档。一切都很好,直到我得到一个只读的文件。在这种情况下,我得到另存为提示。

有没有办法以读/写格式打开文件?我应该拥有管理员权限,因此访问不是问题。

我正在使用VB.net打开文件。更具体地说

doc = word.Documents.Open(path, Type.Missing, False, Type.Missing, Type.Missing, Type.Missing, Type.Missing, Type.Missing, Type.Missing, Type.Missing, Type.Missing, Type.Missing, Type.Missing, Type.Missing, Type.Missing, Type.Missing)

2 个答案:

答案 0 :(得分:4)

要打开只读文件,您需要将该属性设置为false:

string path = "C:\\test.txt";
FileInfo info = new FileInfo(path);
info.IsReadOnly = false;
StreamWriter writer = new StreamWriter(path);
writer.WriteLine("This is an example.");
writer.Close();
info.IsReadOnly=true;

这是一个例子,但我确信它可以与word文件一起使用。

修改

VB.NET等价物:

Dim path As String = "C:\test.txt"
Dim info As FileInfo = New FileInfo(path)
info.IsReadOnly = False
Dim writer As StreamWriter = New StreamWriter(path)
writer.WriteLine("This is an example.")
writer.Close()
info.IsReadOnly = True

答案 1 :(得分:2)

在打开文件之前,请使用FileInfo类检查其属性。

如果Attributes属性包含FileAttributes.ReadOnly,请更改它,该文件将不再是只读的。