"RunAs different user"という小さなアプリケーションを作成しています。開く必要のあるファイル(フルパス)は、リストビューに保存されます。vb.net ListViewの引数として異なるユーザーのExcel 2013ドキュメントとして処理を開始する - ファイルがロックされた
Do_RunAsとプロシージャを呼び出した場合( "C:\プログラムファイルのMicrosoft Office \ Office15 \ EXCEL.EXE \(x86の)"、 "D:\テスト\ネーミングとして実行 - Test.xlsx") ":\プログラムファイル(x86の)\ Microsoft Officeの\ Office15 \ EXCEL.EXE C"、item.SubItems(1)の.text ...それは コールDo_RunAs(とプロシージャを呼び出す場合
しかし を働いています) EXCELでこのメッセージが表示されます(リンク先の図を参照) ...file is locked for editing by another user
ここDo_RunAs
引数としてPublic Sub Do_RunAs(strApplication As String, strFilename As String)
Dim procStartInfo As New ProcessStartInfo
Dim procExecuting As New Process
With procStartInfo
.UseShellExecute = False
.Domain = strDomain
.UserName = strUserName
.Password = ConvertToSecureString(strPassword)
.Verb = "runas"
.LoadUserProfile = True
.FileName = GetShortPathName(strApplication)
.Arguments = GetShortPathName(strFilename).ToString
.WindowStyle = ProcessWindowStyle.Normal
End With
procExecuting = Process.Start(procStartInfo)
procExecuting.Close()
End Sub
のコードIはすでに試み
- .Arguments = strFilename
- .Arguments = chrです(34)+ strFilename + chrです(34)
- であります.Arguments = GetShortPathName(strFilename)
- .Arguments = GetShortPathName(strFilename).ToString
何も動作しません。常に同じエラーが発生します。
誰かが私を助けることができれば素晴らしいだろう - 事前にたくさんありがとう!