目安箱 IV

目安箱投稿のルールはこちらをごらんください。
ご意見は電子メールで承っています。
「目安箱」は質問禁止です。技術的な質問はそれぞれの質問箱へどうぞ。

迷惑投稿防止のため、URLの入力を制限しています。ご了承ください。

  新規投稿 ┃ツリー表示 ┃一覧表示 ┃トピック表示 ┃検索 ┃設定 ┃ホーム  
6 / 14 ページ ←次へ | 前へ→

【191】Re:IllustratorをVBAで操作するには (応用...
Excel  ちくたく E-MAIL  - 07/3/9(金) 16:13 -

引用なし
パスワード
   こんにちは。
IllustratorもCAD的に使えるという例を出してみます。
まぁ、CAD的というか、スクリプトで図形を生成する楽しみみたいなものです。
数式を上手く挟めば、幾何学的な模様も簡単にかけます。

今回は、一例として、測量なんかでやる断面図について、
座標が得られているものから、図形を生成する例です。
データはC列にX軸が、D列にY軸が入っています。

Sub 座標から断面図を描く()
  Dim illApp As New Illustrator.Application
  Dim myDoc As Illustrator.Document
  Dim pt2mm As Single, pos() As Variant
  Dim i As Integer
  Dim p As Illustrator.PathItem
  Dim stNum As Integer, enNum As Integer
  
  Set myDoc = illApp.ActiveDocument
  pt2mm = 2.834645  'mmに単位の変換
  stNum = 10     'データが入っているセルの始まり。
  enNum = 82     'データが入っているセルの終わり。
  
  '座標を配列に入れ込む。これを元にパスを作成する。
  For i = stNum To enNum
    ReDim Preserve pos(i - stNum)
    pos(i - stNum) = Array(Range("C" & i).Value * pt2mm, _
                Range("D" & i).Value * pt2mm)
  Next i
  
  Set p = myDoc.PathItems.Add 'パスの生成
  With p
    .SetEntirePath (pos)  '座標の投げ込み
  End With
  
End Sub
・ツリー全体表示

【190】IllustratorをVBAで操作するには (基本編_...
Excel  ちくたく E-MAIL  - 07/3/6(火) 10:18 -

引用なし
パスワード
   間違って前の投稿を消してしまったので、改めて、基本編から。

前のはややこしかったので、今回は簡単に、おきまりのHelloWorldを。
Illustratorの文字列には、3種類があります。
それぞれで、HelloWorldをやってみました。

基本的には、テキストのオブジェクトを生成し、
そこにプロパティを与えるような感じです。

Sub 文字列を作成する()
  Dim illApp As New Illustrator.Application
  Dim myDoc As Illustrator.Document
  Dim myTxt As Illustrator.TextArtItem
  
  Set myDoc = illApp.ActiveDocument
  
  'テキストアイテムを作成。まずは、エリアテキスト
  Set myTxt = myDoc.TextArtItems.Add
  myTxt.Contents = "Hello World"        '// 現在時間を取得し、書き出し。
  myTxt.Kind = aiAreaText       '// Kindプロパティの設定。
  
  '次にパステキスト
  Set myTxt = myDoc.TextArtItems.Add
  myTxt.Contents = "Hello World"
  myTxt.Kind = aiPathText
  myTxt.Translate 0, -50
  
  '最後にポイントテキスト
  Set myTxt = myDoc.TextArtItems.Add
  myTxt.Contents = "Hello World"
  myTxt.Kind = aiPointText
  myTxt.Translate 0, -100
End Sub
・ツリー全体表示

【189】Re:ここの説明
全般  谷 誠之  - 07/2/11(日) 23:03 -

引用なし
パスワード
   新参者さん、主宰者の谷です。

>このサイトの説明がありません。どこかにある?
>なんかあったほうが親切だと思いますよ。

強いていえば、www.vbalab.net ですねぇ。
「ホーム」ボタンをクリックすればいけます。
・ツリー全体表示

【188】ここの説明
全般  新参者  - 07/2/11(日) 9:32 -

引用なし
パスワード
   このサイトの説明がありません。どこかにある?
なんかあったほうが親切だと思いますよ。
・ツリー全体表示

【187】↑の注意点。
Excel  Jaka  - 07/1/31(水) 10:46 -

引用なし
パスワード
   > Const 十月 As String = "K44:Q50", 十一月 As String = "M53:S59", 十二月 As String = "B55:H61"
>                             ↑              ↑
>                           '11月と12月は位置をづらして入れ替えてあります

上の「↑」が書いてある行は、コメントにしてください。
このまま試すとエラーになります。
・ツリー全体表示

【186】Re:メール自動配信ツールを開発中です
Excel  かみちゃん  - 07/1/23(火) 0:12 -

引用なし
パスワード
   こんにちは。かみちゃん です。

ここには初めて書き込みさせていただきます。

>どなたかスキルのある方いたら教えて頂きたいのですが、お願いします。

以下で解決されたようです。
http://www2.moug.net/bbs/exvba/20070121000008.htm

会社のメールアドレスのプロファイルを作ってそれを実行する方向で対応するようです。
今回の場合は、こういう意図ではないのでしょうけど、公の掲示板に書いてしまうと
「迷惑メール」送信のコツを教えるようなことになりかねないかと、心配してしまいます。
・ツリー全体表示

【185】Re:メール自動配信ツールを開発中です
Excel  Jaka  - 07/1/22(月) 15:18 -

引用なし
パスワード
   え〜と、質問するならエクセル質問箱の方にお願いします。
ht tp://www.vbalab.net/vbaqa/c-board.cgi?id=excel
・ツリー全体表示

【184】メール自動配信ツールを開発中です
Excel  MICHI  - 07/1/20(土) 22:24 -

引用なし
パスワード
   はじめまして。
小生、EXCELVBAのキャリア2年程のPGの卵デス。
早速ですが、2週間程前から会社で、こんな↓ツールを作っています。
・EXCELVBAからOUTLOOKを立ち上げメールを自動配信する。
・メルアドリストは、EXCELリスト形式で500件くらいをループで繰り返し。
送信部分は参考書や色んなHPを参考にコードは、こんな具合にできてんですが
Dim myOL As Object, myMail As Object
Set myOL = CreateObject("Outlook.Application")
Set myMail = myOL.CreateItem(0)
With myMail
  .To = "メルアド"
  .CC = "メルアド2"
  .Subject = "メルマガXX号"
  .Attachments.Add "添付ファイルのフルパス"
  .Body = "XXXXXXXXXX"
  .Display
End With
SendKeys "%s~", True

Set myMail = Nothing
Set myOL = Nothing

で、お伺いしたいのは、outlookメールの差出人<通常非表示の所>に自メールアドレスでは無く、会社のメールアドレスを入れたいのです。
その為にはどんなプロパティをコードに追加したらいいか??です。
イメージ的にはこんな具合なんですか、、、、。
どなたかスキルのある方いたら教えて頂きたいのですが、お願いします。
・ツリー全体表示

【183】グループ化された図形について
Excel  Jaka  - 07/1/16(火) 13:03 -

引用なし
パスワード
   グループ化された各図形の色を変えてみます。
まず、丸だの四角だの適当な図形を7つ作って、それらをグループ化します。
グループ化した図形オブジェクト名が「グループ 8」だとして。


'黄色、赤、青、黄緑、水色、ピンク、紫
'13、10、12、11、15、14、20

Sub グループ図形内の各図形の色を変える()
  Dim Sp As Shape, iro As Variant
  iro = Array(13, 10, 12, 11, 15, 14, 20)
  With ActiveSheet.Shapes("グループ 8")
   Range("A1").Value = .Name
   Range("B1").Value = "グループ内図形 " & .GroupItems.Count & " 個"
   i = 1
   For Each Sp In .GroupItems '←グループ化されてないとエラーになります。
     With Sp
       i = i + 1
       Cells(i, 1).Value = .Name
       .Fill.ForeColor.SchemeColor = iro(i - 2)
       .Fill.Visible = msoTrue
       .Fill.Solid
     End With
   Next
  End With
  iro = Empty
End Sub

Sub 色を消してみる()
  Dim Sp As Shape
  For Each Sp In ActiveSheet.Shapes("グループ 8").GroupItems
    Sp.Fill.Visible = msoFalse
  Next
End Sub

上↑は、下↓みたいに一括で十分なんですけど...。

Sub 色消し一括()
  ActiveSheet.Shapes("グループ 8").Fill.Visible = msoFalse
End Sub


で、各オブジェクトがグループ化されているかどうかです。

Sub グループ化されているか()
  Dim Sp As Shape
  For Each Sp In ActiveSheet.DrawingObjects.ShapeRange
    If Sp.Type = msoGroup Then
     MsgBox Sp.Name & " が、グループ化"
    Else
     MsgBox Sp.Name & " は、単独図形"
    End If
  Next
End Sub
・ツリー全体表示

【182】祝祭日も入れてみた。
Excel  Jaka  - 07/1/9(火) 9:53 -

引用なし
パスワード
   ゴミが残っていたので再アップ。

2006年に決まった?らしい、2007年から実行される?祝日の変更が、9月の秋分の日、第3月曜が絡むとどうなるのかわからなくて、昨年アップしたものを1度消しましたが、詳しくはやっぱり解りませんでした。(昨年のものとほとんど同じ
改正された新国民の休日が反映されるのは、2008年の5月からみたいです。(2009年にも反映されている。)

5月の新国民の休日判定は、なんとなく5/5が日曜〜水曜なら、6日に休みになるといった、よく解らない方法で判定してます。
祝日が休日の場合、翌日に振り返ることができますが、翌日が祝日だった場合?最初の祝日を繰り越せるとかよく解りませんでした。

ということですので、こういった手法もあるということでお願いします。

祝日の変更もしやすいと思います。
間違いに気づいた方、修正お願いします。
2003年以前の事は全く考えてません。

B1に年号が入っているとして...(エラー処理は、入れてません。)
セルB1に年号が入ってないとエラーになります。

Sub カレンダー3()
 Const 一月 As String = "B4:H10", 二月 As String = "K4:Q10", 三月 As String = "B14:H20"
 Const 四月 As String = "K14:Q20", 五月 As String = "B24:H30", 六月 As String = "K24:Q30"
 Const 七月 As String = "B34:H40", 八月 As String = "K34:Q40", 九月 As String = "B44:H50"
 Const 十月 As String = "K44:Q50", 十一月 As String = "M53:S59", 十二月 As String = "B55:H61"
                             ↑              ↑
                           '11月と12月は位置をづらして入れ替えてあります

 Dim TB(0 To 5, 0 To 6), RgTB As Variant, WekN As Long, YMD_C As Date
 Dim Rgst1 As Variant, Rgst2 As String, WeekTL As Variant, Ct As Long
 Dim Nen As Long, EndD As Long, No As Long, WkRwo As Long, WkCol As Long
 Dim HoriChk As Variant, Hrd As Variant
 WeekTL = Array("日", "月", "火", "水", "木", "金", "土")
 RgTB = Array(一月, 二月, 三月, 四月, 五月, 六月, _
        七月, 八月, 九月, 十月, 十一月, 十二月)
 Application.ScreenUpdating = False
 Nen = Range("B1").Cells(1).Value 'B1に年号が入っているとして。
                   'B1が結合セルの左上に値すれば、結合セル可。
 Range("B2:T62").Clear 'Cells.Clear
 'Range("B1").Cells(1).Value = Nen

 For Each Rgst1 In RgTB
   Ct = Ct + 1
   YMD_C = Nen & "/" & Ct & "/1"
   WekN = Weekday(YMD_C)
   EndD = Day(DateSerial(Year(YMD_C), Month(YMD_C) + 1, 0))
   With Range(Rgst1)
     '月記入
     .Cells(1).Offset(-1).Value = Month(YMD_C) & "月"
     '週タイトル記入、文字センター、色黄色
     With .Rows(1)
       .Value = WeekTL
       .Rows(1).HorizontalAlignment = xlCenter
       .Rows(1).Interior.ColorIndex = 6
     End With
     .Columns(1).Font.ColorIndex = 3 '文字赤
     .Columns(7).Font.ColorIndex = 41 '文字青
     'セル範囲タイトル分縮小
     Rgst2 = .Resize(.Rows.Count - 1).Offset(1).Address(0, 0)
     With Range(Rgst2)
      '日にちの記入
       For i = 0 To EndD - 1
        No = WekN + i - 1
        WkRwo = Fix(No / 7)
        WkCol = No Mod 7
        TB(WkRwo, WkCol) = i + 1
       Next
       .Value = TB
       '祝日&振替文字色 赤
       HoriChk = Application.Run("HorTB_M" & Ct, Nen)
       If IsArray(HoriChk) Then
        For Each Hrd In HoriChk
          If Hrd > 0 Then
            .Cells(Hrd + WekN - 1).Font.ColorIndex = 3
          End If
        Next
        Erase HoriChk
       End If
     End With
   End With
   Erase TB
   Call 罫線22(CStr(Rgst1))
 Next
 WeekTL = Empty: RgTB = Empty
 Application.ScreenUpdating = True
End Sub

Sub 罫線22(Rgst As String)
 With Range(Rgst)
   '.Borders.LineStyle = 1 'OK
    .Borders.Weight = 2 'xlThick普通=2 'xlMedium太線=3
              'xlHairline細=1 'xlThick極太線=4
    .Rows(1).BorderAround (9)
    .BorderAround (1) '細=0 普通=1 点線1=2 点線2=3 点線3=4 点線4=5
             '普通=6,7,8,10,11,12 2重=9
             '太斜点=13 14X 15X 16X 17X 18X 19X 20X
 End With
End Sub

Sub test()
'変数 = Application.Run("Book1!Runtest", 変数)
dd = 2006
aa = Application.Run("HorTB_M" & 9, dd)
MsgBox aa(UBound(aa))
End Sub

Private Function HorTB_M1(Nen As Long) As Variant
  Dim Hori As Long, WekDy As Long
  WekDy = Weekday(Nen & "/1/1", vbSunday)
  If WekDy = 1 Then
    Hori = 2
  End If
  If WekDy <= 2 Then
    Hori2 = 2 - WekDy + ((2 - 1) * 7) + 1
  Else
    Hori2 = 8 - WekDy + ((2 - 1) * 7) + 2
  End If

  HorTB_M1 = Array(1, Hori, Hori2)
End Function

Private Function HorTB_M2(Nen As Long) As Variant
  Dim Hori As Long
  Hori = 11
  If Weekday(Nen & "/3/" & Hori, vbSunday) = 1 Then
    Hori = Hori + 1
  End If
  HorTB_M2 = Array(Hori)
End Function

Private Function HorTB_M3(Nen As Long) As Variant
  Dim Hori As Long
  Hori = Fix(20.8431 + 0.242194 * _
      (Nen - 1980) - Fix((Nen - 1980) / 4))
  If Weekday(Nen & "/" & 3 & "/" & Hori, vbSunday) = 1 Then
    Hori = Hori + 1
  End If
  HorTB_M3 = Array(Hori)
End Function

Private Function HorTB_M4(Nen As Long) As Variant
  Dim Hori As Long
  Hori = 29
  If Weekday(Nen & "/4/29", vbSunday) = 1 Then
    Hori = Hori + 1
  End If
  HorTB_M4 = Array(Hori)
End Function

Private Function HorTB_M5(Nen As Long) As Variant
  Dim Hori As Long
  Hori = 0
  '2007からの国民の休日もつもり
  If Nen >= 2007 And Weekday(Nen & "/" & "5/5", vbSunday) < 4 Then
    Hori = 6
  ElseIf Weekday(Nen & "/5/5", vbSunday) = 1 Then
    Hori = 6
  End If
  HorTB_M5 = Array(3, 4, 5, Hori) '日曜とのダブりは、無視。
End Function

Private Function HorTB_M6(Nen As Long) As Variant
  HorTB_M6 = Empty
End Function

Private Function HorTB_M7(Nen As Long) As Variant
  Dim Hori As Long, WekDy As Long
  WekDy = Weekday(Nen & "/7/1", vbSunday)
  If WekDy <= 2 Then
    Hori = 2 - WekDy + ((3 - 1) * 7) + 1
  Else
    Hori = 8 - WekDy + ((3 - 1) * 7) + 2
  End If
  If Weekday(Nen & "/4/" & Hori, vbSunday) = 1 Then
    Hori = Hori + 1
  End If
  HorTB_M7 = Array(Hori)
End Function

Private Function HorTB_M8(Nen As Long) As Variant
  HorTB_M8 = Empty
End Function

Private Function HorTB_M9(Nen As Long) As Variant
  Dim Hori As Long, Hori2 As Long, WekDy As Long
  WekDy = Weekday(Nen & "/9/1", vbSunday)
  If WekDy <= 2 Then
    Hori = 2 - WekDy + ((3 - 1) * 7) + 1
  Else
    Hori = 8 - WekDy + ((3 - 1) * 7) + 2
  End If
  Hori2 = Fix(23.2488 + 0.242194 * _
      (Nen - 1980) - Fix((Nen - 1980) / 4))
  If Weekday(Nen & "/9/" & Hori2, vbSunday) = 1 Then
    HorTB_M9 = Array(Hori, Hori2 + 1)
  ElseIf Weekday(Nen & "/9/" & Hori2, vbSunday) = 4 Then
    HorTB_M9 = Array(Hori, Hori2 - 1, Hori2)
  Else
    HorTB_M9 = Array(Hori, Hori2)
  End If
End Function

Private Function HorTB_M10(Nen As Long) As Variant
  Dim Hori As Long, WekDy As Long
  WekDy = Weekday(Nen & "/10/1", vbSunday)
  If WekDy <= 2 Then
    Hori = 2 - WekDy + ((2 - 1) * 7) + 1
  Else
    Hori = 8 - WekDy + ((2 - 1) * 7) + 2
  End If
  HorTB_M10 = Array(Hori)
End Function

Private Function HorTB_M11(Nen As Long) As Variant
  Dim Hori As Long, Hori2 As Long
  Hori = 3
  If Weekday(Nen & "/" & "11/3", vbSunday) = 1 Then
    Hori = Hori + 1
  End If
  Hori2 = 23
  If Weekday(Nen & "/" & "11/23", vbSunday) = 1 Then
    Hori2 = Hori2 + 1
  End If
  HorTB_M11 = Array(Hori, Hori2)
End Function

Private Function HorTB_M12(Nen As Long) As Variant
  Dim Hori
  Hori = 23
  If Weekday(Nen & "/" & "12/23", vbSunday) = 1 Then
    Hori = Hori + 1
  End If
  HorTB_M12 = Array(Hori)
End Function
・ツリー全体表示

【181】Re:自動で作業させられのでしょうか?
Access  おもちが好き E-MAIL  - 07/1/7(日) 18:16 -

引用なし
パスワード
   ▼Jaka さん:
>使ったことが無いので、詳しいことはわかりませんが、
>ウェーブで「タスクスケジューラ」を調べてみてください。

タスクスケジューラにVBAで作ったプログラムをセット
することによって自動で処理させることが出来ました、ありがとうございました。
プログラムが初めてなので簡単なことしか出来ませんので、また質問等すると思いますが宜しくお願いします。
・ツリー全体表示

【179】Re:自動で作業させられのでしょうか?
Access  おもちが好き E-MAIL  - 07/1/5(金) 12:23 -

引用なし
パスワード
   ありがとうございます<(_ _)>
調べてみます
・ツリー全体表示

【178】Re:自動で作業させられのでしょうか?
全般  Jaka  - 07/1/4(木) 9:26 -

引用なし
パスワード
   使ったことが無いので、詳しいことはわかりませんが、
ウェーブで「タスクスケジューラ」を調べてみてください。
・ツリー全体表示

【177】自動で作業させられのでしょうか?
Access  おもちが好き E-MAIL  - 07/1/1(月) 12:52 -

引用なし
パスワード
   Accessを決まった時間(深夜の稼働時間外)
に自動でソフトをたちあげ自動で集計を行いたいのですが

・可能なのでしょうか?
・可能であればどんなソフトを使えばよいのでしょうか?
・どこかのHPに記載されていました教えてください<(_ _)>

宜しくお願いします
・ツリー全体表示

【176】恥
Excel  Jaka  - 06/12/28(木) 9:15 -

引用なし
パスワード
   上記【171】Re:テロップにて、
私は、話のつながらない間抜けな発言をしてますが、 

>この場合、表示セルの、書式にて、横の配置を右づめにしておきます。
上のマキチャンさんの書き込みをまったく見ていなかったからです。
ごめんなさい。

マキチャンさん、なんのこっちゃ発言をして、すみませんでした。
ほんと間抜けですね....。と、思いつつ、年内に気づいてえらいぞJaka。

・・・・、失礼しました。
・ツリー全体表示

【174】Re:テロップ
Excel  マキチャン  - 06/12/26(火) 21:11 -

引用なし
パスワード
   Jaka さん りんさん こんばんは。

似た文が多いので、まとめたらこんな感じかな。
Public Declare Sub Sleep Lib "kernel32" (ByVal dwMilliseconds As Long)

Sub TEST()
  Dim II As Integer, LL As Integer, AA As String
  AA = "シート 内容に注意!!" 'メッセージ内容
  '
  For II = 1 To 10
   For LL = 1 To Len(AA) '文字数
     ActiveSheet.Cells(3, 3).Value = Left(AA, LL)
     Sleep 200
   Next LL
  Next II
End Sub

私も多分、Len関数やMID関数などを使って、長さをまわせば
だらだら、書かなくても、できるのではと思っていました。
りんさんの上記のような方法を教えていただき、ありがとうございます。
これなら、人に見せても恥ずかしくないですよね。

ところで、Jakaさんのプログレスバー(こういう言葉もしらなかったです)
も、こういうことをしてみたかったので、非常に参考になります。
私は、仕方なく、シート上にボタンを表示してその大きさを変えて(だんだん
小さくなるようにして)我慢していました。

メモ、メモ、メモです。思い切って、投稿してみて非常に良かったと思っています。
おもわぬ収穫です。

皆さんありがとうございました。
・ツリー全体表示

【173】7×7マスのカレンダー
Excel  Jaka  - 06/12/26(火) 10:16 -

引用なし
パスワード
   全ての月(曜を日含む、7×7マス)の位置を一々決めなければならない手間がありますが、マスの位置をの変則に好き勝手な場所に設定できるようにこんな感じにしてみました。
B1セルに年号が入っているとします。
年号の不具合チェックはしてません。
祝日、振替休日も入れてません。
土日だけ色を変えました。
一応罫線も入ってます。

Sub カレンダー3()
 Const 一月 As String = "B4:H10", 二月 As String = "K4:Q10", 三月 As String = "B14:H20"
 Const 四月 As String = "K14:Q20", 五月 As String = "B24:H30", 六月 As String = "K24:Q30"
 Const 七月 As String = "B34:H40", 八月 As String = "K34:Q40", 九月 As String = "B44:H50"
 Const 十月 As String = "K44:Q50", 十一月 As String = "M53:S59", 十二月 As String = "B55:H61"

 Dim TB(0 To 5, 0 To 6), RgTB As Variant, WekN As Long, YMD_C As Date
 Dim Rgst1 As Variant, Rgst2 As String, WeekTL As Variant, Ct As Long
 Dim Nen As Long, EndD As Long, No As Long, WkRwo As Long, WkCol As Long

 WeekTL = Array("日", "月", "火", "水", "木", "金", "土")
 RgTB = Array(一月, 二月, 三月, 四月, 五月, 六月, _
        七月, 八月, 九月, 十月, 十一月, 十二月)
 Application.ScreenUpdating = False
 Nen = Range("B1").Cells(1).Value  'B1に年号が入っているとして。
                   'B1が結合セルの左上に値すれば、結合セル可。
 Range("B2:T62").Clear 'Cells.Clear
 'Range("B2:T62").ClearComments  '変動祝日を休日表無しで、条件付書式にした場合
 Range("B1").Cells(1).Value = Nen

 For Each Rgst1 In RgTB
   Ct = Ct + 1
   YMD_C = Nen & "/" & Ct & "/1"
   WekN = Weekday(YMD_C)
   EndD = Day(DateSerial(Year(YMD_C), Month(YMD_C) + 1, 0))
   With Range(Rgst1)
     '月
     .Cells(1).Offset(-1).Value = Month(YMD_C) & "月"
     '週タイトル記入、文字センター、色黄色
     With .Rows(1)
       .Value = WeekTL
       .Rows(1).HorizontalAlignment = xlCenter
       .Rows(1).Interior.ColorIndex = 6
     End With
     .Columns(1).Font.ColorIndex = 3 '文字赤
     .Columns(7).Font.ColorIndex = 41 '文字青
     'セル範囲タイトル分縮小
     Rgst2 = .Resize(.Rows.Count - 1).Offset(1).Address(0, 0)
     With Range(Rgst2)
       For i = 0 To EndD - 1
        No = WekN + i - 1
        WkRwo = Fix(No / 7)
        WkCol = No Mod 7
        TB(WkRwo, WkCol) = i + 1
       Next
       .Value = TB
     End With
   End With
   Erase TB
   Call 罫線22(CStr(Rgst1))
 Next
 WeekTL = Empty: RgTB = Empty
 Application.ScreenUpdating = True
End Sub

Sub 罫線22(Rgst As String)
 With Range(Rgst)
   '.Borders.LineStyle = 1 'OK
    .Borders.Weight = 2 'xlThick普通=2 'xlMedium太線=3
              'xlHairline細=1 'xlThick極太線=4
    .Rows(1).BorderAround (9)
    .BorderAround (1) '細=0 普通=1 点線1=2 点線2=3 点線3=4 点線4=5
             '普通=6,7,8,10,11,12 2重=9
             '太斜点=13 14X 15X 16X 17X 18X 19X 20X
 End With
End Sub
・ツリー全体表示

【172】今だったらこんな風にします。
Excel  Jaka  - 06/12/26(火) 9:59 -

引用なし
パスワード
   上のテロップのコードをここに乗せたのは、今年ですが、書いたのは2、3年前なので、なぜこんな意味不明な計算式が入っているのか解りませんが...。
多分最後の文字が表示しきるまで待てなかったんじゃないかと思います。
>StrConv(Space(Int(Len(st1) \ 2))
今だったら、気が長くなったのか?
こんな風にします。
という事で、今頃ちょっと修正。

>Sub テロップ流れ1_セル版()
>  Dim st1 As String, SP1 As String, TX1 As String, Flg As Boolean
>  Dim DefoFntIdx As Long, Defocol As Double, i As Long
>  Dim MAd As String
>  
>  MAd = "B2"
>  st1 = "シート内容に注意!!"
>  SP1 = StrConv(Space(4), vbWide) '間隔
>  
>  '文字を1回1回ループさせようと思ったが、最初に作っておくのが簡単。
>  For i = 1 To 6
>    TX1 = TX1 & st1 & SP1
>  Next
>
>  TX1 = TX1 & StrConv(Space(Int(Len(st1) \ 2)), vbWide)

    ↓ こんな感じに....。

  st1 = "シート内容に注意!!"
  SPCt = 3 '間隔
  SP1 = StrConv(Space(SPCt), vbWide)
  For i = 1 To 6
    TX1 = TX1 & St1 & SP1
  Next
  TX1 = TX1 & StrConv(Space(Len(St1) - SPCt), vbWide)

・ツリー全体表示

【171】Re:テロップ
Excel  Jaka  - 06/12/26(火) 9:45 -

引用なし
パスワード
   りん さん、マキチャン さん、こんにちわ。
タイプライター方式ですね。
表示の仕方が違うだけで、おっしゃるとおりにやっていることは同じです。
(どちらも目の錯覚?を利用してます。)

りんさんのを勝手に改造

Sub TEST()
  Dim II As Integer, LL As Integer, AA As String
  AA = "シート 内容に注意!!" 'メッセージ内容
  For II = 1 To 5
   ActiveSheet.Cells(3, 3).Value = Empty
   Sleep 330
   For LL = 1 To Len(AA) '文字数
     ActiveSheet.Cells(3, 3).Value = Left(AA, LL)
     'この辺に、Beep音の「カシャ」ってのがあれば、面白いと思います。
     If i <> 4 Then
      Sleep 330
     End If
   Next LL
  Next II
End Sub

おまけ。
プログレスバーも同じですね。
(前にりんさんが同じようなものを書いたかもしんないけど....)

Sub prog()
 Application.DisplayStatusBar = True
 cnt = 20999
 Joz = 1000
 moji = String(Int(cnt \ Joz), "□")
 Application.StatusBar = moji
 For i = 1 To cnt
   If i Mod Joz = 0 Then
    Application.Wait Now + TimeValue("00:00:02")
    moji = Application.Substitute(moji, "□", "■", 1)
    Application.StatusBar = moji
   End If
 Next
 MsgBox "終了"
 Application.StatusBar = Empty
End Sub
・ツリー全体表示

【170】Re:ちょっと気になる現象3 プロパティの参...
Excel  ichinose  - 06/12/25(月) 16:02 -

引用なし
パスワード
   >尚、Vbscriptとでもプロパティを参照渡しでは、渡すことが出来ませんでした。
>
>確認したコードは以下のとおりです。下記のコードをテキストファイルとして保存し、
>
>保存後拡張子をvbsに変更して実行してみてください(例 Test.vbs)
>
>'===================================
>dim a,b
>dim zzz
>dim cc
>set cc=new cls
>a=2
>b=3
>cc.bbb=0
>call test(a,b,cc.bbb)
>msgbox a & " + " & b & " = " & cc.bbb
>call test(a,b,zzz)
>msgbox a & " + " & b & " = " & zzz
>'==================================
>sub test(x,y,z)
>  z=x+y
>end sub
>'==================================
>class cls
>  property get bbb()
>   bbb=zzz
> end property
> property let bbb(dat)
>   zzz=dat
> end property
>end class

上記のコードですが、これをそのままコピーして、
メモ帳等に貼り付けて、拡張子をvbsに直して実行させると
エラーが発生します。

>  z=x+y

こういう行の頭の空白が全角の空白になっていることが理由です。
これを半角の空白に手動で直すか、又は、

VBEのどこかのモジュールに
一度貼り付けて、そのコードを再度コピーしてから、
メモ帳に貼り付けてください。
(vbeのモジュールに貼り付けた時にエラーが発生してもかまいません)
・ツリー全体表示

  新規投稿 ┃ツリー表示 ┃一覧表示 ┃トピック表示 ┃検索 ┃設定 ┃ホーム  
6 / 14 ページ ←次へ | 前へ→
ページ:  ┃  記事番号:   
0
(SS)C-BOARD v3.8 is Free