설정 여기에 코드입니다.오류 나는 엑셀 2007을 사용하고 Worksheet.PageSetup.XxxFooter
Run-time error '1004': Unable to set the RightFooter property of the PageSetup class
LeftFooter
및 CenterFooter
속성은 잘 설정하세요. 그러나 속성을 설정 한 순서를 변경하면 마지막으로 LeftFooter
또는 CenterFooter
이 오류를 유발하고 이전 두 항목은 항상 성공적으로 설정됩니다. 그래서 그것은 footer 나 다른 것에 대한 구문에서 에러가 아니라는 것을 말해줍니다.
필자는 일부 글꼴을 기울임 꼴로 설정하고 세 바닥 글 섹션에서 다른 색상을 설정한다는 점에 유의하십시오. 기울임 체와 색상으로 변경하는 부분을 제거하면 (마지막 바닥 글 섹션에서만) 오류없이 실행됩니다.
EDIT 또한 이탤릭체 부분 만 제거하면 오류없이 코드가 실행됩니다. /
처음에는이 오류가 발생했고, 변수와 연결을 사용하여 마침내 작동했지만 지금은 다시 고장났습니다. 문제를 파악할 수 없습니다.
This question 가능성이있는 것으로 보입니다. 그러나 확실하지 않습니다. 나는 그 사람을 위해 일한 픽스를 시도했다. (Replace
은 정말로 새로운 캐릭터 라인을 반환하는 것을 제외하고는 아무것도하지 않는다.)하지만 여전히 같은 오류가 난다.
어쨌든 영향을 안 lf
, cf
및 rf
, 변수를 병합하고 (절망) 다른 물건을 많이 설정할 수있는 연결을 사용하지 않는 시도했습니다, 나는이 오류가 계속. 누구든지 문제가 무엇인지 알 수 있습니까?
UPDATE
내 질문에 대한 답을 찾을 수 없다, 그래서 난 그냥 기울임 꼴 글꼴 스타일을 제거하고 나머지는 일하고 있었다. 나는 충분히 행복했다. 이제, 가로 시트 (다른 세로)의 머리말과 꼬리말을 만들어야했습니다. 머리글과 바닥 글은 세로 시트의 경우와 완전히 동일하므로 가운데 바닥 글 섹션의 일부 텍스트가 길어집니다. 나머지는 완전히 동일합니다. 꼬리말을 만드는 전체 절차가 복사되고 한 텍스트 만 변경되었습니다. 이제 이전과 같은 오류가 발생합니다 (기울임 꼴 부분 없음). 이전과 마찬가지로 설정중인 마지막 꼬리말 섹션에서 발생합니다. 세로 바닥 글은 여전히 올바르게 작동합니다. 이것은 내가 너트를 몰고 간다. 그리고 나는 당신이 상당히 간단 할 것이라고 생각할만한 일에 소중한 시간을 잃어 가고있다.
누구든지 오류를 복제 할 수 있습니까?
여기에 전체 코드입니다 :
Private Const LINE_CLR As String = "&K538ED5" ' RGB(83, 142, 213)
'Private Const TEXT_STYLE AS STRING = "&""-,Italic"""
Private Const TEXT_STYLE As String = ""
Private Const TEXT_CLR As String = "&K7F7F7F" ' RGB(127, 127, 127)
Private Const FTR_INDENT_RT As String = " "
Private Const FTR_INDENT_LT As String = " "
' *****************************************************************************
Private Function HOR_LINE_PORTRAIT() As String
HOR_LINE_PORTRAIT = String(128, "_")
End Function
' *****************************************************************************
Private Function HOR_LINE_LANDSCAPE() As String
HOR_LINE_LANDSCAPE = String(191, "_")
End Function
' *****************************************************************************
Public Sub CreateFooter_Landscape(_
ByRef ws As Worksheet, _
ByVal txt1 As String, _
ByVal txt2 As String, _
ByVal txt3 As String)
Dim txtL As String, txtC As String, txtR As String
Dim lf As String, cf As String, rf As String ' left, center, and right footer
txtL = "Some text1: " & txt1
txtC = "Some text2: " & txt2
txtR = "Some text3 " & txt3
lf = TEXT_STYLE & TEXT_CLR & FTR_INDENT_LT & txtL
cf = LINE_CLR & HOR_LINE_LANDSCAPE & Chr(10) & TEXT_STYLE & TEXT_CLR & txtC
rf = TEXT_STYLE & TEXT_CLR & txtR & FTR_INDENT_RT
ws.PageSetup.LeftFooter = lf
ws.PageSetup.CenterFooter = cf
ws.PageSetup.RightFooter = rf
End Sub
이 코드를 실행하는 컴퓨터에 프린터가 설치되어 있습니까? 그렇다면 다른 것으로 변경하려고 했습니까? –
@RichardMorgan, 예, (실제) 프린터를 설치했지만 기본 프린터가 PDF입니다. 나는 그것을 바꿔야 할까? – neizan
잘 모르겠습니다. 과거에는 PageSetup 속성 설정시 프린터가없고 "가상"프린터가없는 문제가 발생했습니다. 또한이 답변이 도움이되는지 확인하십시오. http://stackoverflow.com/questions/18601744/excel-headers-footers-wont-change-via-vba-unless-blank –