|
分類:[.NET 全般]
C#からオートメーションを利用して、ワードファイルのパスワードを削除しようと思っています。
現在は、下記のように、ワードを開く(オートメーション)、
パスワードを削除(ワードのマクロをオートメーションで実行)、ワードを閉じる(オートメーション)
という手順にしておりますが、パスワードの削除を、オートメーションで実行したいと思っております。
たとえば、
oDoc.SaveAs(
ref oFile, ref oMissing, ref oMissing, ref oMissing,
ref oMissing, ref oMissing, ref oMissing,ref oMissing,
ref oMissing, ref oMissing,ref oMissing, ref oMissing,
ref oMissing,ref oMissing, ref oMissing, ref oMissing);
を
oPass=(object)"";
oDoc.SaveAs(
ref oFile, ref oMissing, ref oMissing, ref oMissing,
ref oPass, ref oPass, ref oMissing, ref oPass,
ref oPass, ref oMissing, ref oMissing, ref oMissing,
ref oMissing, ref oMissing, ref oMissing, ref oMissing);
と変更してもパスワードが解除されません。何か助言をいただけませんでしょうか?
object oMissing = System.Reflection.Missing.Value;
object oFile = (object)file;
object oPass = textBox1.Text;
object Sname = (object)file;
Word.ApplicationClass oWord = new Word.ApplicationClass();
oWord.Visible = false;
Word.Documents oDocs = oWord.Documents;
//対象のワードを開く
Word._Document oDoc = oDocs.Open(
ref oFile, ref oMissing, ref oMissing, ref oMissing,
ref oPass, ref oPass, ref oMissing, ref oPass,
ref oPass, ref oMissing, ref oMissing, ref oMissing,
ref oMissing, ref oMissing, ref oMissing, ref oMissing);
//パスワードの削除を実行(ワードマクロ)
RunMacro(oWord, new Object[] { "Project.Module1.DelPass" });
//保存する。
oDoc.SaveAs(
ref oFile, ref oMissing, ref oMissing, ref oMissing,
ref oMissing, ref oMissing, ref oMissing,ref oMissing,
ref oMissing, ref oMissing,ref oMissing, ref oMissing,
ref oMissing,ref oMissing, ref oMissing, ref oMissing);
|