■はじめに
excel2000で、excel2007のファイルを開く際、関連付けられたプログラムで開きたかったので、
openメソッドではなく、runメソッドを使って開くことにしました。
ファイルは狙い通りに関連付けられたプログラムで開けたのですが、ファイルを開いてから、次の
処理に向かう際に下記異常があります。
1つめ・・・runメソッドの第2パラメータ(ウインドウの表示方法)を指定しても効かない
2つめ・・・runメソッドの第3パラメータ(起動したプログラムの終了を待つかどうかを指定)をtrueにすると
ずっと、マクロが実行中になってしまう
■相談したいこと
上記の問題点を解決するために、どのような修正を加えればいいか、教えてもらえないでしょうか?
下記、プロシージャでは、runがずっと実行中になってしまいます。第3パラメータをfalseにすると、
ファイルは開きますが、その後の処理(ここではThisWorkbook.Activate)が出来ません。
■↓当方で作成したプロシージャ
Sub ファイルを検索して開く()
Dim fname As String
Dim fpass As String
Dim objWShell
Set objWShell = CreateObject("WScript.Shell")
With Application.FileSearch
.NewSearch
.LookIn = "C:\Users\new\Desktop\データベース"
.Filename = Format(Range("A1").Value, "yyyymmdd") & "_" & "*.xlsx"
.SearchSubFolders = True
.FileType = msoFileTypeExcelWorkbooks
If .Execute > 0 Then
fpass = .FoundFiles(1)
fname = Dir(fpass)
objWShell.Run fpass, 7, True
MsgBox "ファイルを開きました"
Workbooks(fname).Close SaveChanges:=False
Else
MsgBox "対象ファイルはありませんでした"
End If
End With
ThisWorkbook.Activate
End Sub
■はじめに
excel2000で、excel2007のファイルを開く際、関連付けられたプログラムで開きたかったので、
openメソッドではなく、runメソッドを使って開くことにしました。
ファイルは狙い通りに関連付けられたプログラムで開けたのですが、ファイルを開いてから、次の
処理に向かう際に下記異常があります。
1つめ・・・runメソッドの第2パラメータ(ウインドウの表示方法)を指定しても効かない
2つめ・・・runメソッドの第3パラメータ(起動したプログラムの終了を待つかどうかを指定)をtrueにすると
ずっと、マクロが実行中になってしまう
■相談したいこと
上記の問題点を解決するために、どのような修正を加えればいいか、教えてもらえないでしょうか?
下記、プロシージャでは、runがずっと実行中になってしまいます。第3パラメータをfalseにすると、
ファイルは開きますが、その後の処理(ここではThisWorkbook.Activate)が出来ません。
■↓当方で作成したプロシージャ
Sub ファイルを検索して開く()
Dim fname As String
Dim fpass As String
Dim objWShell
Set objWShell = CreateObject("WScript.Shell")
With Application.FileSearch
.NewSearch
.LookIn = "C:\Users\new\Desktop\データベース"
.Filename = Format(Range("A1").Value, "yyyymmdd") & "_" & "*.xlsx"
.SearchSubFolders = True
.FileType = msoFileTypeExcelWorkbooks
If .Execute > 0 Then
fpass = .FoundFiles(1)
fname = Dir(fpass)
objWShell.Run fpass, 7, True
MsgBox "ファイルを開きました"
Workbooks(fname).Close SaveChanges:=False
Else
MsgBox "対象ファイルはありませんでした"
End If
End With
ThisWorkbook.Activate
End Sub
■はじめに
excel2000で、excel2007のファイルを開く際、関連付けられたプログラムで開きたかったので、
openメソッドではなく、runメソッドを使って開くことにしました。
ファイルは狙い通りに関連付けられたプログラムで開けたのですが、ファイルを開いてから、次の
処理に向かう際に下記異常があります。
1つめ・・・runメソッドの第2パラメータ(ウインドウの表示方法)を指定しても効かない
2つめ・・・runメソッドの第3パラメータ(起動したプログラムの終了を待つかどうかを指定)をtrueにすると
ずっと、マクロが実行中になってしまう
■相談したいこと
上記の問題点を解決するために、どのような修正を加えればいいか、教えてもらえないでしょうか?
下記、プロシージャでは、runがずっと実行中になってしまいます。第3パラメータをfalseにすると、
ファイルは開きますが、その後の処理(ここではThisWorkbook.Activate)が出来ません。
■↓当方で作成したプロシージャ
Sub ファイルを検索して開く()
Dim fname As String
Dim fpass As String
Dim objWShell
Set objWShell = CreateObject("WScript.Shell")
With Application.FileSearch
.NewSearch
.LookIn = "C:\Users\new\Desktop\データベース"
.Filename = Format(Range("A1").Value, "yyyymmdd") & "_" & "*.xlsx"
.SearchSubFolders = True
.FileType = msoFileTypeExcelWorkbooks
If .Execute > 0 Then
fpass = .FoundFiles(1)
fname = Dir(fpass)
objWShell.Run fpass, 7, True
MsgBox "ファイルを開きました"
Workbooks(fname).Close SaveChanges:=False
Else
MsgBox "対象ファイルはありませんでした"
End If
End With
ThisWorkbook.Activate
End Sub
下記を実行するとエラーになりEXCEL2010が終了してしまいます。
fDebug:0 offset00009391 がエラーメッセージです。
何が原因でしょうか。
Private Sub Worksheet_Change(ByVal Target As Range)
Dim ws As Worksheet
Dim rg As Range
Dim r As Variant
Dim c As Long
Dim hanni1 As Range
Dim atai As Range
Set ws = Worksheets("あああ")
Set rg = Worksheets("コード").Range("A1:B10")
r = ws.Cells(Rows.Count, 1).End(xlUp).Row
Set hanni1 = ws.Range(Cells(2, 2), Cells(r, 3))
Set atai = ws.Range(Cells(2, 3), Cells(r, 3))
atai = Application.VLookup(hanni1, rg, 2, False)
End Sub
演習1というシートの(1,1)のセルの値と(1,2)のセルの値を入れ替えるプログラムを作成したいので
すがエラーが出て出来ません。コードは下記の様に書きました。
Sub 演習1()
Dim sheetobj As Worksheet
Dim a As Integer
Set sheetobj = ThisWorkbook.Worksheets("演習1")
With sheetobj
a = .Cells(1, 1)
.Cells(1, 1) = .Cells(1, 2)
.Cells(1, 2) = a
End With
End Sub
プログラミング自体が本を読んでも分かりません。
宜しければ小学生に教えるように文を訳してくれませんか?