Indexへ
(12850)//【12852】→(12869)
------------------------
【タイトル】起動オプション
【記事番号】 12852 (*)
【 日時 】06/06/16 00:46
【 発言者 】takagi

◆Version 5.01 での変更点は以下のとおりです。(2006/06/11)
・編集中の図面情報(ファイル名のフルパス、表示画面の中心の座標、表示倍率及びレイヤの状態)をクリップボードにコピーするコマンドを追加した
(メニュー[ファイル]→[ファイル操作]→[図面情報コピー])。
・起動オプションにより、表示位置、表示倍率及びレイヤの状態を指定できるようにした(sample.xls 参照)。

sample.xls 参照して試したのですが、図面情報をフルパスではなく同じフォルダーならファイル名からの記入で立ち上がるようになる方法はないでしょうか。
他の人に渡す時に役立つと思うのですが。


Indexへ
(12852)←【12869】→(12875)
------------------------
【タイトル】Re(1):起動オプション
【記事番号】 12869 (12852)
【 日時 】06/06/16 15:31
【 発言者 】joker
【 リンク 】http://www.atsmile.com/jw/



▼takagiさん:
>他の人に渡す時に役立つと思うのですが。

誰かに渡す事が目的なのであれば、相手がエクセルを持っているかどうかも
分らないので、どのみち、JWWを起動させるプログラムが別途、必要になる
のではないでしょうか?

私だったらソフト開発言語(DelphiやVBなど)を使って組んでしまうと
思いますが、VBScript(WSH)でも簡単に組めるのではないかと思います。
起動用のプログラム+図面データ+図面一覧データ をセットにして送る、
という感じでしょうか?(勿論相手が、JWW 5.01を使っているという前提で)


Indexへ
(12869)←【12875】→(12880)
------------------------
【タイトル】Re(2):起動オプション
【記事番号】 12875 (12869)
【 日時 】06/06/16 20:47
【 発言者 】takagi

▼jokerさん:
>▼takagiさん:
>>他の人に渡す時に役立つと思うのですが。
>
>誰かに渡す事が目的なのであれば、相手がエクセルを持っているかどうかも
>分らないので、どのみち、JWWを起動させるプログラムが別途、必要になる
>のではないでしょうか?

他の人とは社内の別の人という意味なので相手の環境はわかっているのですが。

>
>私だったらソフト開発言語(DelphiやVBなど)を使って組んでしまうと
>思いますが、VBScript(WSH)でも簡単に組めるのではないかと思います。
>起動用のプログラム+図面データ+図面一覧データ をセットにして送る、
>という感じでしょうか?(勿論相手が、JWW 5.01を使っているという前提で)

すみません、ソフト開発には手を出したことが無いもので、エクセルをいじるぐらいでできる方法があればとお聞きしたのですが。


Indexへ
(12875)←【12880】→(12905)
------------------------
【タイトル】JWsel
【記事番号】 12880 (12875)
【 日時 】06/06/17 02:05
【 発言者 】joker
【 リンク 】http://www.atsmile.com/jw/



▼takagiさん:

私はエクセルのマクロに全く詳しくありませんので、
取り合えず単独アプリとして作ってみました。(苦笑)
以外と強敵でした・・・(爆)

JWsel
http://www.atsmile.com/jw/down/tools.html

まぁ、誰も使わないかもしれないけど、取り合えず。


Indexへ
(12880)←【12905】→(12906)
------------------------
【タイトル】Re(1):JWsel
【記事番号】 12905 (12880)
【 日時 】06/06/17 22:47
【 発言者 】takagi

▼jokerさんcoolyoppeさん
ありがとうございます。
自宅ではどちらもOKでしたが、月曜日に会社でどちらの使い勝手が良いか試してみます。
わがままに付き合っていただいて感謝しています。


Indexへ
(12905)←【12906】→(12991)
------------------------
【タイトル】Re(2):JWsel Ver.0.1
【記事番号】 12906 (12905)
【 日時 】06/06/18 01:18
【 発言者 】joker
【 リンク 】http://www.atsmile.com/jw/



▼takagiさん:

ついで。
JWsel は、図面名・コメントを追加してくれ、という要望がありましたので
修正して、Ver.0.1 にしましたので、良かったらどぞ。
http://www.atsmile.com/jw/down/tools.html


Indexへ
(12906)←【12991】→(13011)
------------------------
【タイトル】Re(2):JWsel
【記事番号】 12991 (12905)
【 日時 】06/06/19 20:19
【 発言者 】takagi

▼jokerさんcoolyoppeさん

>ありがとうございます。
>自宅ではどちらもOKでしたが、月曜日に会社でどちらの使い勝手が良いか試してみます。
>わがままに付き合っていただいて感謝しています。

会社で試したのですが、どちらも"読み込めないファイルです"となってしまいます。
Cドライブの直接入っているフォルダーならOKなのですが、
C:\Documents and Settings\takagi\My Documents\・・・等に入れるとだめでした。
半角スペースが入っているせいか深すぎるのかどちらかと思うのですが。


Indexへ
(12991)←【13011】→(13015)
------------------------
【タイトル】マクロコード修正
【記事番号】 13011 (12991)
【 日時 】06/06/20 00:05
【 発言者 】coolyoppe

▼takagiさん:
>▼jokerさんcoolyoppeさん
>
>>ありがとうございます。
>>自宅ではどちらもOKでしたが、月曜日に会社でどちらの使い勝手が良いか試してみます。
>>わがままに付き合っていただいて感謝しています。
>
>会社で試したのですが、どちらも"読み込めないファイルです"となってしまいます。
>Cドライブの直接入っているフォルダーならOKなのですが、
>C:\Documents and Settings\takagi\My Documents\・・・等に入れるとだめでした。
>半角スペースが入っているせいか深すぎるのかどちらかと思うのですが。

半角スペースが有る場合、パス名部分を「"」(「2ふ」キーのところ)で
囲むとOKです。

"C:\Documents and Settings\takagi\My Documents\図面名.jww" -〜

また、いちいち囲むのは面倒だという場合は、マクロコードを下記のものに
変更して下さい。(パス名を「"」で囲む処理を追加)

Private Sub CommandButton1_Click()
Dim RetVal
Dim CmdLine
CmdLine = Range("B1").Value & " """ & ActiveWorkbook.Path & """\" & ActiveCell.Offset(0, 1)
Range("A4").HorizontalAlignment = xlRight
Range("A4").Value = "現在の図面パス名="
Range("B4").Value = ActiveWorkbook.Path & "\"
RetVal = Shell(CmdLine, 1)
ActiveCell.Select
End Sub


Indexへ
(13011)←【13015】→(13035)
------------------------
【タイトル】Re(3):JWsel
【記事番号】 13015 (12991)
【 日時 】06/06/20 01:46
【 発言者 】joker
【 リンク 】http://www.atsmile.com/jw/



▼takagiさん:
>会社で試したのですが、どちらも"読み込めないファイルです"となってしまいます。

すみません、半角空白の件の見落としです。ってゆーか、忘れです。
修正版をアップしましたので、また暇なときにでもダウンロードしておいて
下さい。
http://www.atsmile.com/jw/down/tools.html

(図面ファイル名は「"」で囲まないでください)


Indexへ
(13015)←【13035】→(13037)
------------------------
【タイトル】Re(4):JWsel
【記事番号】 13035 (13015)
【 日時 】06/06/20 19:58
【 発言者 】takagi

▼jokerさんcoolyoppeさん:
ありがとうございました。
どちらも、大丈夫になりました。
ただ、エクセルの場合クリップボードから貼り付けた後ファイルの前のパスを消さなければならない分、手間がかかるのと、消し忘れそうなので、jokerさんのを利用させていただきます。


Indexへ
(13035)←【13037】→(13048)
------------------------
【タイトル】Excelでパス名を自動で削除する方法
【記事番号】 13037 (13035)
【 日時 】06/06/20 23:24
【 発言者 】coolyoppe

>ただ、エクセルの場合クリップボードから貼り付けた後ファイルの前のパスを消さなければならない分、手間がかかるのと、消し忘れそうなので、jokerさんのを利用させていただきます。

解決されたようですが、Excelで置換関数を使うと手作業で消さなくても
良くなります。
一応方法を記載しておきますので、気が向いたときにでもお試し下さい。

例えば、C12セルにクリップボードのパス名付き文字列を貼り付けます。
B12セルに次の式を入力しておけばOKです。
=SUBSTITUTE(C12,$B$4,"")

B列に上の式をあらかじめコピーしておけばC列にクリップボードの
パス名付き文字列貼り付けるだけでOKです。
(B13セルの場合は「=SUBSTITUTE(C13,$B$4,"")」です。Excelで普通に
コピー、貼り付けすると式は自動的にC13、C14・・・とカウントアップ
されてコピーされます。)

上の関数を使った場合、新しいフォルダに移った時に古いパス名のほうを
参照してしまうので、コードを次のように変更します。
(コマンドライン行を下(4行目から7行目)に移動しただけです。)

Private Sub CommandButton1_Click()
Dim RetVal
Dim CmdLine
Range("A4").HorizontalAlignment = xlRight
Range("A4").Value = "現在の図面パス名="
Range("B4").Value = ActiveWorkbook.Path & "\"
CmdLine = Range("B1").Value & " """ & ActiveWorkbook.Path & """\" & ActiveCell.Offset(0, 1)
RetVal = Shell(CmdLine, 1)
ActiveCell.Select
End Sub


Indexへ
(13037)←【13048】→(12879)
------------------------
【タイトル】Re(1):Excelでパス名を自動で削除する方法
【記事番号】 13048 (13037)
【 日時 】06/06/21 12:21
【 発言者 】takagi

▼coolyoppeさん:
ありがとうございます。
時間があるときに、これを参考にオリジナルの書式で利用しやすいものを作ってみます。


Indexへ
(13048)←【12879】//(12854)
------------------------
【タイトル】Re(1):起動オプション
【記事番号】 12879 (12852)
【 日時 】06/06/17 01:59
【 発言者 】coolyoppe

▼takagiさん:
>◆Version 5.01 での変更点は以下のとおりです。(2006/06/11)
>・編集中の図面情報(ファイル名のフルパス、表示画面の中心の座標、表示倍率及びレイヤの状態)をクリップボードにコピーするコマンドを追加した
> (メニュー[ファイル]→[ファイル操作]→[図面情報コピー])。
>・起動オプションにより、表示位置、表示倍率及びレイヤの状態を指定できるようにした(sample.xls 参照)。
>
>sample.xls 参照して試したのですが、図面情報をフルパスではなく同じフォルダーならファイル名からの記入で立ち上がるようになる方法はないでしょうか。
>他の人に渡す時に役立つと思うのですが。

こんにちは。

「sample.xls」と同じフォルダにある図面ということなら、
マクロ部分を変更すればパス名を省略出来ます。

「sample.xls」を開いて「ツール」>「マクロ」>「Visual Basic Editor」
と進むとコードが表示されますので、下記のコードで置き換えて下さい。
(現在開いているブックのパスを取得して、コマンドラインに追加している
だけです。尚、B4セルに現在のパス名を表示するようにしています。)
そして「ファイル」>「〜上書き保存」します。

サンプルのパス名部分を削除して試してみて下さい。
例えば、「C:\jww\Aマンション25d.jww 〜」を「Aマンション25d.jww 〜」にします。
図面名だけでOKかと思います。

Private Sub CommandButton1_Click()
Dim RetVal
Dim CmdLine
CmdLine = Range("B1").Value & " " & ActiveWorkbook.Path & "\" & ActiveCell.Offset(0, 1)
Range("A4").HorizontalAlignment = xlRight
Range("A4").Value = "現在の図面パス名="
Range("B4").Value = ActiveWorkbook.Path & "\"
RetVal = Shell(CmdLine, 1)
ActiveCell.Select
End Sub