ワードでらせん状の図形を描きたいのですがどうすればいいでしょうか。

詳しく言いますと、蚊取り線香の真ん中を引っ張りあげたような形です。上に行くほど狭まる円錐のような螺旋が描きたいのです。
ワードでは無理そうなら、一太郎か花子を使ってでもいいですが、できればワードを希望します。よろしくお願いします。

回答の条件
  • URL必須
  • 1人2回まで
  • 登録:2005/09/21 18:31:18
  • 終了:--

回答(10件)

id:dungeon-master No.1

dungeon-master回答回数571ベストアンサー獲得回数402005/09/21 19:28:29

ポイント13pt

http://www.hatena.ne.jp/ダミー:detail]

少々面倒ですが、オートシェイプ→線→曲線で、プロットしてみてください。


   .C .A

   .B  .D

  .G   .E

  .F    .H

 .K     .I

 .J      .L


のような順序で頂点を置いていけば、それらしくなると思います。

頂点は、図形を選択して右クリックメニューの「頂点の編集」を選べば、

移動や追加/削除ができます。

id:hiroshisp

ありがとうございます、詳しく書けてませんでしたが、フリーハンドじゃ困るのです。

きれいに描きたいのですが・・・

2005/09/21 19:45:25
id:inosisibeyan No.2

inosisibeyan回答回数211ベストアンサー獲得回数02005/09/21 19:37:53

ポイント13pt

アーチ状に3Dを付けた、ワードアートを連続で貼り付け

してゆくというのではだめですか?

id:hiroshisp

ワードアートって文字を入れなければだめなんじゃないですか?線で描きたいのですが。

2005/09/21 19:48:40
id:sudoh No.3

sudoh回答回数35ベストアンサー獲得回数02005/09/21 22:19:57

ポイント13pt

回答ではないのでポイント不要です。


これはVBA(マクロでもいいけど)を使って、円錐になるらせん状の計算を図形機能に渡せばいいだけかと思います。ワードで十分できる事と思いますので、あとはそれを実装できる人を募るだけ。

id:hiroshisp

ご回答ありがとうございます。そんな事はできないです。知り合いにもできそうな人はいないです。

2005/09/21 22:57:10
id:pasosavi No.4

pasosavi回答回数761ベストアンサー獲得回数282005/09/22 00:35:35

ポイント13pt

作ってみました…

id:hiroshisp

おおっ!!すごいです!こんなのを求めてました。でも、どうやって作られたのでしょうか・・

作り方を教えて欲しいです。

2005/09/22 23:36:34
id:sterna No.5

arakai回答回数267ベストアンサー獲得回数62005/09/22 09:37:08

ポイント13pt

http://www.geocities.jp/kaname78web/epi.html

�G�N�Z���ł��Ԃ��`���B�����������B

上記はExcel上で数値計算を行い,グラフとして図形を作成する方法です.

このグラフを図形としてワードにコピーすればよいと思います.そのまま貼り付けてグループ解除すれば図形として扱われます.

上に行くほど狭まるにはこれに変形をかけてそれっぽくするか,応用して三次元プロットする方法があると思いますが,その場合単純にワード・エクセルのみで書くのは困難で3次元のグラフ描画ソフトが必要で一般的ではありません.

その場合は上記のようなソフトに頼らざるを得ません.spiral 3D helixなどで検索すると外国のソフトではけっこうあるようです.

id:hiroshisp

そうですか、やっぱり難しいのですね。

2005/09/22 23:37:56
id:typista No.6

typista回答回数359ベストアンサー獲得回数72005/09/22 10:34:30

ポイント13pt

http://cgi.fuji.ne.jp/~fj2094/cgi-bin1/wwwlng.cgi?print+200502/0...

�X�p�C�����A�b�v�̐}�`�������ɂ�

エクセルですが、まさにそのものがありました。

実際に、コードをエクセルのVBAに貼り付けて、マクロ実行で描画したものをワードにコピー&ペーストして確認しましたので、まったく問題ないと思います。

※上下が逆ですが、描画後に上下反転すればOKです


http://blog.mag2.com/m/log/0000119526/75868277?page=7

解決!エクセル!─Q&Aから学ぶ実用的問題解決法─[まぐまぐ!]

こちらは要件とは違うので参考程度ですが、一応載せておきます。

※いずれにしても、エクセルのサンプルが多いですね。(VBAに習熟してないので、エクセル→ワード化までは不可能でした)

id:hiroshisp

エクセルでも問題ないのですが、難しそうですねー

2005/09/22 23:39:46
id:name_mm No.7

name_mm回答回数94ベストアンサー獲得回数02005/09/22 12:52:27

ポイント13pt

http://www.moug.net/skillup/ebb/evbb/evbb012-2.htm

Excel VBA ビギナーズ バイブル モーグスキルアップ講座

Excelは使用できますか?

使用できるなら以下の手順で、らせんを作成後、全ての線をグループ化し、必要により縮小、拡大、その後ワードに貼り付けてください。


少し重いようなので別な方法があったらまた、回答します。


ここを参考にして、「標準モジュールの挿入」までの操作を行い、「Option Explicit」行以下に下記を貼り付けて下さい。


Sub rasen()


Const r As Double = 0.5 ’#変更箇所# 半径の値(0.1 ~ 0.5 くらいが妥当これ以上大きくするとかなり大きなものになります)

Const cnum As Long = 5 ’#変更箇所# 回転数

Const dlv As Long = 10 ’#変更箇所# 描画レベル(増えるに従い粗くなり、減るに従い細かくなりますが応答性が悪くなります(^^; )

Const x_r As Long = 10 ’#変更箇所# x +方向への傾き(大きくなるほど傾きが少なくなり、0は無しになります)

Const y_r As Long = 5 ’#変更箇所# y +方向への傾き(大きくなるほど傾きが少なくなり、0は無しになります)

Dim drad As Double

Dim x As Long, y As Long

Dim x_o As Long, y_o As Long

Const pi As Double = 3.14159265358979

Const c As Double = (r / pi)

Dim i As Long, j As Long

Dim dpos As Long

For j = 0 To 1

For i = 0 To 360 * cnum Step dlv

drad = i * (pi / 180)

x = CLng(Cos(drad) * c * i + dpos)

If i > 0 And x_r <> 0 Then

x = x + i / x_r

End If

y = CLng(-Sin(drad) * c * i + dpos)

If i > 0 And y_r <> 0 Then

y = y + i / y_r

End If

If j > 0 Then

If i > 0 Then

ActiveSheet.Shapes.AddLine x_o, y_o, x, y

End If

End If

x_o = x

y_o = y

Next i

dpos = x * 1.2

Next j

End Sub

http://www.moug.net/skillup/ebb/evbb/evbb001-3.htm

Excel VBA ビギナーズ バイブル モーグスキルアップ講座

ここを参考にして、マクロ名「rasen」を実行してみてください。

大きさなどは、貼り付けたプログラムの値を変更して調整するか、シェープの縮小、拡大で行って下さい。

尚、実行結果の表示位置はできるだけ調整しましたが、プログラムの変更箇所の値によっては、スクロールが必要な位置に表示される可能性がありますので、Excelの表示倍率は10%で行って見てください。

id:hiroshisp

一度、挑戦してみます

2005/09/22 23:40:38
id:dungeon-master No.8

dungeon-master回答回数571ベストアンサー獲得回数402005/09/22 15:16:04

ポイント13pt

http://www.hatena.ne.jp/ダミー2回目:detail]

2回目です。

回答1の手順を、頂点を増やしてマクロでやって見ます。


ワードのツール→マクロ→Visual Basic Editorを開いて、

表示→コード で ThisDocument(コード) の編集窓を開き、

以下のマクロをぶち込んで見てください。


Sub Macro1()

dlp = 8 ’巻き数

dx = 200 ’始点x

dy = 200 ’始点y

With ActiveDocument.Shapes.BuildFreeform(msoEditingAuto, dx, dy)

For i = 1 To dlp * 9

rd = 6.2832 / 9 * i

.AddNodes msoSegmentCurve, 0, dx + Sin(rd) * (i + 10), dy + i * 4 + Cos(rd) * i / 2

Next

.ConvertToShape.Select

End With

End Sub


実行すると、8回巻きの螺旋が描かれるはずです。

値は調整してください。

適当に書いたのでうまく描けないことがあるかもしれません。

id:hiroshisp

ありがとうございます。すばらしいですね、いろいろ試してみたいと思います。

2005/09/22 23:46:49
id:pasosavi No.9

pasosavi回答回数761ベストアンサー獲得回数282005/09/23 00:50:59

ポイント50pt

作り方の解説を載せました。:-)


※それなりに励みましたので、

 どうぞご高配を宜しくお願いいたします…

id:hiroshisp

素晴らしいです!こんな機能があるとは知りませんでした!ご丁寧な説明、ありがとうございました。

2005/09/25 09:20:52
id:sudoh No.10

sudoh回答回数35ベストアンサー獲得回数02005/09/25 07:10:16

ポイント13pt

http://www.hatena.ne.jp/1127295078#

人力検索はてな - ワードでらせん状の図形を描きたいのですがどうすればいいでしょうか。 詳しく言いますと、蚊取り線香の真ん中を引っ張りあげたような形です。上に行くほど狭まる円錐のよ..

ポイント要りません。(2回目の書き込みです)


ワードのVBAでこれは出来ますが、それを実現できる人がいないと仰ってます。ならば、自分でやりましょう。ワードだけでできますので、あとはご自身がVB理解するだけです。


問いに対する解答としては、「VBを使ってワードでできる」です。どうやるかは別質問になるかと思います。勿体ぶってるわけではなくてVBAなんざ知らないのです。MS製のアプリは、WIN32APIなら分かりますが、VBAですと、関数のニュアンス自体違うし、同じ関数見つけるの面倒。しかしです、蚊取り線香の真中を引っ張ったオブジェクトをワードで実現するくらい、私には簡単にできます。VBA

でやってます。

id:hiroshisp

努力してみます。

2005/09/25 09:24:40

コメントはまだありません

この質問への反応(ブックマークコメント)

「あの人に答えてほしい」「この質問はあの人が答えられそう」というときに、回答リクエストを送ってみてましょう。

これ以上回答リクエストを送信することはできません。制限について

絞り込み :
はてなココの「ともだち」を表示します。
回答リクエストを送信したユーザーはいません