tagCANDY CGI VBレスキュー(花ちゃん) の Visual Basic 2010 用 掲示板(VB.NET 掲示板) [ツリー表示へ]   [Home]
一括表示(VB.NET VB2005)
タイトルDOC,XLSのファイルを読み取り専用で開く。
記事No9626
投稿日: 2009/11/25(Wed) 21:19
投稿者ジョンソン
拡張子DOC(ワード文書)やXLS(エクセルシート)のファイルを
読み取り専用でそれぞれWord、Excelで開きたいのですが、
良い方法はありませんでしょうか?

環境:VB2005(FRAMEWORK2.0)

System.Diagnostics.Process.Start("X:\XXX\XXX\XXX.DOC")
でDOCファイルをWordで開くことはできるのですが、
読み取り専用になりません。

よろしくお願いいたいsます。

[ツリー表示へ]
タイトルRe: DOC,XLSのファイルを読み取り専用で開く。
記事No9627
投稿日: 2009/11/25(Wed) 21:34
投稿者花ちゃん
> 拡張子DOC(ワード文書)やXLS(エクセルシート)のファイルを
> 読み取り専用でそれぞれWord、Excelで開きたいのですが、
> 良い方法はありませんでしょうか?

ここのサンプル投稿用掲示板の中のExcel 操作ワンポイントテクニック集(VB6.0 基本編)
の中の Excel ファイルを読み取り専用で開く方法をhttp://hanatyan.sakura.ne.jp/dotnet/Excelflm.htm で実行すればできるかと。

又は、事前にファイルの属性を変更してから、Process.Start で起動する事もできるかと。
その場合、プロセスが終了した場合、属性を元に戻す必要がありますが。

詳しくは、ここのTips 集を参照。

[ツリー表示へ]
タイトルRe: DOC,XLSのファイルを読み取り専用で開く。
記事No9628
投稿日: 2009/11/26(Thu) 12:51
投稿者魔界の仮面弁士
> 読み取り専用でそれぞれWord、Excelで開きたいのですが、

Excel の場合には
 Dim ExcelFile As String = "C:\a.xls"
 Process.Start("Excel.exe", String.Format("/R ""{0}""", ExcelFile))
と記述できます。
http://office.microsoft.com/ja-jp/excel/HA101580301041.aspx


Word の場合には、そうした読取専用のためのコマンドラインが用意されていないので、
花ちゃんさんの No.9627 案を採用する事になるかと思います。
http://office.microsoft.com/ja-jp/word/HP101640101041.aspx

[ツリー表示へ]
タイトルRe^2: DOC,XLSのファイルを読み取り専用で開く。
記事No9630
投稿日: 2009/11/26(Thu) 15:06
投稿者花ちゃん
>  Process.Start("Excel.exe", String.Format("/R ""{0}""", ExcelFile))
> と記述できます。

調べたつもりだったのですが、気が付きませんでした。

しかし、ファイルを開いている時に、ダブルクリック等で別に開かれると変更前なら
警告なしで入れ替わってしまいますね。

[ツリー表示へ]
タイトルRe: DOC,XLSのファイルを読み取り専用で開く。
記事No9644
投稿日: 2009/11/27(Fri) 21:59
投稿者ジョンソン
教えていただいた方法でできました。
ありがとうございました。

[ツリー表示へ]