- ベストアンサー
2台のパソコンでエクセルを操作する
ウィンドウズ7です。 両方のパソコンともエクセル2010が入っています。 メインの1台はデータの入力や行の挿入や、保存など普通に使いたいです。 もう1台は、読み取り専用にしたいです。 しかし、コマンドボタンがありマクロの実行もあります。 どんなことをしてもメインの1台には反映されたくありません。 メインの1台が入力されたときは、サブの1台には反映してほしいです。 検索したのですが、よくわかりませんでした。 よろしくご教授くださいませ。
- みんなの回答 (5)
- 専門家の回答
質問者が選んだベストアンサー
ファイルはメインのPCにあるのですよね? ファイルのプロパティのセキュリティからメインのマシンのユーザに対してはフルコントロールにして、otherに対して読み込みだけを設定すればよいと思います。(チェックボックスがあるはず)
その他の回答 (4)
- tsubuyuki
- ベストアンサー率45% (699/1545)
例えば、ですが・・ ブックを開いたときに、パソコンに割り振られた「コンピュータ名」を取得し、 その「コンピュータ名」が条件と合致したらそのまま、 「コンピュータ名」が合致しなかったら読み取り専用で「開きなおす」 みたいな仕掛けをVBAで組んでしまうとか。 とりあえず、サンプルです。 以下を、ThisWorkbookモジュールに貼り付けて保存、 いろんなところで開いてみてくださいませ。 Sub Workbook_Open() Dim obj Dim TempBook As String Set obj = CreateObject("WScript.Network") If obj.computername <> "コンピュータ名" Then TempBook = ActiveWorkbook.FullName Workbooks.Open Filename:=TempBook, ReadOnly:=True End If End Sub 以上、開き直すコードです。 コンピュータ名のチェックは以下で。 適当な場所に貼り付けて動かすとコンピュータ名を メッセージボックスに出してくれますので、 上述コードの「コンピュータ名」に置き換えてくださいませ。 Sub namechk() Dim obj Set obj = CreateObject("WScript.Network") MsgBox obj.computername End Sub まぁ、仮に同じ「コンピュータ名」がネットワーク上に複数存在していたら、 あるいは、Open時マクロを無効化して開く方法をご存知の方がいたら、 この仕組みは意味を為さないんですけどね。 多分、前者は無い・・と思うんですが、いかがでしょう? あ、コンピュータ名は大文字小文字を区別します。 一字一句間違えないようにしましょう。 あと、念のため・・・ ご使用は自己責任で。 コードを貼る前に「バックアップはお忘れなく」。
- 某HN クロメート(Chromate)(@CoalTar)
- ベストアンサー率40% (705/1742)
同一人物でなければパスワードを設定しては? 名前を付けて保存 - ツール - 全般オプション 書き込みパスワードを設定する http://www4.synapse.ne.jp/yone/excel2010/excel2010_hogo.html#kaki
- atcoffee
- ベストアンサー率16% (184/1091)
どういう方法でアクセスしてるのか知らないけどファイルのアクセス権をコントロールすればいいんじゃない? 既に宅内のネットワークが構築できてるとして 目的のファイルを右クリック→セキュリティー→アクセス許可でできるはずだよ。 クラウド型のドライブを使ってる場合は知らん
- pluto1991
- ベストアンサー率30% (2015/6674)
無理だと思います。 エクセルデータはサーバーとか共有フォルダに入っていますね。 一台目のPCが「開く」とした時点でデータがPCのメモリに読み込まれており、そこに入力などしている際はそのデータはメモリーの中なので「保存する」(または閉じる)にして始めてサーバーのエクセルデータが書き換えられることになります。 なので2台目からリアルタイムで見ることは出来ないというわけですね。 このようなデータシステムを構築するのであれば「ファイルメーカー」とかのデータベースソフトで作るしかないでしょう。