ここからの助けを借りてMac / PCの苦情を申し立てるために、私が取り組んでいるこのコードがありますが、これが少なくとも今のところ私のPCで実行された後、会社名と部品番号フォルダーを含むフォルダーを作成しました後で使用します。
Sub MakeFolder()
Dim strComp As String, strPart As String, strPath As String
strComp = Range("A1") ' assumes company name in A1
strPart = CleanName(Range("C1")) ' assumes part in C1
strPath = "C:\Images\"
If Not FolderExists(strPath & strComp) Then
'company doesn't exist, so create full path
FolderCreate strPath & strComp & "\" & strPart
Else
'company does exist, but does part folder
If Not FolderExists(strPath & strComp & "\" & strPart) Then
FolderCreate strPath & strComp & "\" & strPart
End If
End If
End Sub
Function FolderCreate(ByVal path As String) As Boolean
FolderCreate = True
Dim fso As New FileSystemObject
If Functions.FolderExists(path) Then
Exit Function
Else
On Error GoTo DeadInTheWater
fso.CreateFolder path
Exit Function
End If
DeadInTheWater:
MsgBox "A folder could not be created for the following path: " & path & ". Check the path name and try again."
FolderCreate = False
Exit Function
End Function
Function FolderExists(ByVal path As String) As Boolean
FolderExists = False
Dim fso As New FileSystemObject
If fso.FolderExists(path) Then FolderExists = True
End Function
Function CleanName(strName as String) as String
'will clean part # name so it can be made into valid folder name
'may need to add more lines to get rid of other characters
CleanName = Replace(strName, "/","")
CleanName = Replace(CleanName, "-","")
etc...
End Function
今、私がやろうとしているのは、前述の顧客が存在し、SO# フォルダーが存在する場合、同じ行の P. でそれへのリンクを作成するようにすることです。
以下に示すように、パスは C:\Images\Company Name\SO#\ です。
私が望むリンクは、代表的な行で「SO#」の写真になり、SO# は行自体の SO# に置き換えられます。次に、それをクリックすると、リンクからエクスプローラーのフォルダーに移動します。
理論的には、コードが次のようになるようにすることもできますが、完全にはわかりません...
Option Explicit
Sub Create_a_Link()
Dim wsJAR As Worksheet 'JL Archive
Dim lastrow As Long, fstcell As Long
Set wsJAR = Sheets("JL Archive")
With Application
.ScreenUpdating = False
.DisplayAlerts = False
.EnableEvents = False
End With
With JAR
lastrow = wsJAR.Cells(Rows.Count, "P").End(xlUp).Row
Range("P3:P" & lastrow).Value = Hyperlink("C:\$C3:C" & lastrow \" & "B3:B" & lastrow, "Cellname")
End With
With Application
.ScreenUpdating = True
.DisplayAlerts = True
.EnableEvents = True
End With
しかし、ここでエラーが発生し続けます:
Range("P3:P" & lastrow).Value = Hyperlink("C:\$C3:C" & lastrow \" & "B3:B" & lastrow, "Cellname")
コンパイルエラーを言う:リスト区切り文字または)が必要
どなたかお力添えいただければ幸いです... エクセルシートを添付いたします。