Excel VBA質問箱 IV

当質問箱は、有志のボランティア精神のおかげで成り立っています。
問題が解決したら、必ずお礼をしましょうね。
本サイトの基本方針をまとめました。こちら をご一読ください。

投稿種別の選択が必要です。ご注意ください。
迷惑投稿防止のため、URLの入力を制限しています。ご了承ください。


7662 / 76734 ←次へ | 前へ→

【74658】Re:名前の定義文字化け
回答  ウッシ  - 13/8/26(月) 11:08 -

引用なし
パスワード
   こんにちは

申請書のあるブックでAlt+F11キーでVBE画面を開いて標準モジュールを挿入して

Public Declare Function SetTimer Lib "user32.dll" _
  (ByVal hwnd As Long, ByVal nIDEvent As Long, ByVal uElapse As Long, _
  ByVal lpTimerFunc As Long) As Long
Public Declare Function KillTimer Lib "user32.dll" _
  (ByVal hwnd As Long, ByVal nIDEvent As Long) As Long
Public Declare Function FindWindow Lib "user32.dll" Alias "FindWindowA" _
  (ByVal lpClassName As String, ByVal lpWindowName As String) As Long

Sub DeleteDefinedNames()

  Dim beforeReferenceStyle As Variant
  beforeReferenceStyle = Application.ReferenceStyle

  Dim timerID As Long
  timerID = SetTimer(0, 0, 100, AddressOf TimerProc)

  If beforeReferenceStyle = xlR1C1 Then
    Application.ReferenceStyle = xlA1
  Else
    Application.ReferenceStyle = xlR1C1
  End If

  Dim n As Name
  For Each n In ActiveWorkbook.Names
    If Not n.Name Like "*!Print_Area" And _
      Not n.Name Like "*!Print_Titles" Then
      n.Delete
    End If
  Next

  Application.ReferenceStyle = beforeReferenceStyle

  KillTimer 0, timerID

End Sub

Private Sub TimerProc()

  Dim hwnd As Long
  hwnd = FindWindow("bosa_sdm_XL9", "名前の重複")

  If hwnd > 0 Then
    SendKeys getRandomString(3, 20), 10
    SendKeys "{ENTER}"
  End If

End Sub

Private Function getRandomString(min As Long, max As Long) As String

  Dim s As String
  Dim i As Long

  max = Int(max * Rnd)

  For i = 0 To min + max
    Randomize
    s = s & Chr(65 + Int(26 * Rnd))
  Next

  getRandomString = s

End Function

のコードを貼り付けて、マクロ実行で「DeleteDefinedNames」を実行するだけですけど、
うまく起動しないとは、どのような状態でしょうか?

11 hits

【74651】名前の こばねこ 13/8/23(金) 11:04 質問
【74652】Re:名前の ウッシ 13/8/23(金) 13:34 回答
【74655】名前の定義文字化け こばねこ 13/8/23(金) 15:25 発言
【74656】Re:名前の定義文字化け ウッシ 13/8/23(金) 15:33 回答
【74657】Re:名前の定義文字化け こばねこ 13/8/26(月) 9:33 発言
【74658】Re:名前の定義文字化け ウッシ 13/8/26(月) 11:08 回答
【74659】Re:名前の定義文字化け こばねこ 13/8/26(月) 13:09 発言
【74660】Re:名前の定義文字化け ウッシ 13/8/26(月) 13:18 回答
【74664】Re:名前の定義文字化け こばねこ 13/8/27(火) 14:02 お礼

7662 / 76734 ←次へ | 前へ→
ページ:  ┃  記事番号:
2610219
(SS)C-BOARD v3.8 is Free