View Single Post
  #5   Report Post  
Posted to microsoft.public.excel.programming
Brian Brian is offline
external usenet poster
 
Posts: 683
Default Run Time error on file name

Here is the code to open an exsisitng Workbook

' Open Existing Engineering Spec 9 Control Button
Private Sub Open_Existing_Engineer_Spec_9_Click()

Dim FileToOpen As Variant
Dim bk As Workbook
Dim LastBackSlashPos As Long
Dim myMsg As String

FileToOpen = Application.GetOpenFilename("SPEC (*.xlsm), Spec*.xlsm")

If FileToOpen = False Then

MsgBox prompt:=Engineer_2.Value & vbLf & "You canceled opening an
Engineering Spec", _
Title:="C.E.Singleton Co. of Florida, Inc."

Exit Sub
End If

LastBackSlashPos = InStrRev(FileToOpen, "\", -1, vbTextCompare)

If UCase(Mid(FileToOpen, LastBackSlashPos + 1, 4)) < UCase("SPEC") Then

MsgBox prompt:=Engineer_2.Value & vbLf & "You can only open an
exsisting Engineering Spec", _
Title:="C.E.Singleton Co. of Florida, Inc."

Exit Sub
End If

Set bk = Workbooks.Open(Filename:=FileToOpen)
'=========================================
With bk.Sheets("Job Data")
' Site Information:

Me("CLLI_Code_1").Value = .Range("D02").Value
Me("Office_1").Value = .Range("D03").Value
Me("Address_11").Value = .Range("D04").Value
Me("Address_12").Value = .Range("D05").Value
Me("City_1").Value = .Range("D06").Value
Me("State_1").Value = .Range("D07").Value

Alot more code here the same as above

'========================================
End With

End Sub












"Dave Peterson" wrote:

This line doesn't look right.

..Range("A09").Value = Me("Office_1").Value

Maybe you meant something like:
..Range("A09").Value = Me.controls("Office_1").Value

===========
So somewhere you have a line that looks something like:

With Workbooks("Master Engineering Spec.xlsm")
.saveas filename:=.....
....

Instead of refering to the workbook by its name, you can use a variable. Maybe
even assign the variable when you open the workbook.

dim wkbk as workbook
....
set wkbk = workbooks.open(filename:="c:\somepath\Master Engineering Spec.xlsm")

Then when you save it...

wkbk.saveas filename:="C:\somenewname"

But keep refering to that variable...

with wkbk.workSheets("COVER SHEET")
.Range("A09").Value = Me.controls("Office_1").Value




Brian wrote:

I have this code when I go to update a new workbook, but once the workbook is
updated and saved, it will not allow you to reupdate it. I think the reason
is because it's looking for the workbook "Master Engineering Spec.xlsm" and
that is not the workbook name.

Here is the sequence I am following.
1: Open User Form
2: Open New Engineering Spec (Control Button "Open_New_Engineer_Spec_8")
3: Fill in the user Form
4: Update Engineering Spec (Control Button "Update_Engineer_Spec_10"
5: Save Engineering Spec workbook (I automaticaly assigns the name.

Now here is where the problem is. You forgot to fill in something on the
User Form. So you go back and put it in, then you click on the Control Button
"Update_Engineer_Spec_10" and you get a run Time Error message.

How can I get around this so that it updates the workbook? Do I need to add
another Control Button to up date exsisting worksbooks?

'Update Engineering Spec Control Button(Sheet 1)
Private Sub Update_Engineer_Spec_10_Click()

With Workbooks("Master Engineering Spec.xlsm").Sheets("COVER SHEET")
'Job Address Information
.Range("A09").Value = Me("Office_1").Value
.Range("A10").Value = Me("Address_11").Value
.Range("A11").Value = Me("Address_12").Value
.Range("A12").Value = Me("City_1").Value
.Range("B12").Value = Me("State_1").Value
.Range("C12").Value = Me("Zip_Code_1").Value

More Code Here, but same as above.

End With


--

Dave Peterson
.