파이썬 또는 R을 사용하여 엑셀에서 대체 텍스트가 있는 그래프를 PDF로 내보내는 방법은 무엇입니까?
나는 VBA를 사용하여 엑셀에서 생성된 그래프가 500개 정도 있는데 pdf로 내보내야 합니다.이러한 그래프에는 시각장애인이 액세스할 수 있도록 대체 텍스트가 있습니다.VBA(ExportAsFixedFormat)를 사용하여 PDF를 생성하면 대체 텍스트가 PDF에 누락됩니다.그래프를 엑셀에서 PDF로 변환하고 대체 텍스트를 유지하기 위한 코드가 파이썬이나 R에 있습니까?
그래프를 수동으로 PDF로 저장하면 대체 텍스트가 그래프와 함께 PDF 파일로 저장됩니다.하지만 그래프가 너무 많아서 자동으로 할 수 있으면 좋을 것 같습니다.
ActiveSheet.ExportAsFixedFormat Type:=xlTypePDF, Filename:=PdfFileName, _
Quality:=xlQualityStandard, IncludeDocProperties:=True, IgnorePrintAreas:=False, OpenAfterPublish:=False
VBA의 위 코드는 PDF를 만드는 데 도움이 되지만 대체 텍스트는 유지하지 않습니다.
다음 코드는 각각의 pdf 파일을 생성합니다.Sheet
(어떤 것도 제외)Worksheet
)에서.ThisWorkbook
:
Sub Charts_Export()
Const kPath As String = "D:\@D_Trash\SO Questions\Output\#Name.pdf" 'Update as required
Dim oSht As Object, sPath As String
With ThisWorkbook
For Each oSht In .Sheets
With oSht
If oSht.Type <> xlWorksheet Then
sPath = Replace(kPath, "#Name", .Name) 'Update as required
.ExportAsFixedFormat _
Type:=xlTypePDF, _
Filename:=sPath, _
Quality:=xlQualityStandard, _
IncludeDocProperties:=True, _
IgnorePrintAreas:=False, _
OpenAfterPublish:=False
End If: End With: Next: End With
End Sub
PDF 파일이 열리면 + +를 동시에 눌러 활성화합니다.Read Out Loud
PDF 형식의 옵션입니다.그런 다음 +를 동시에 눌러 다음을 읽습니다.AlternativeText
.
OP가 발행한 동일한 작품을 사용하는 이전 코드는 차트를 PDF 파일로 내보냈습니다.Alternative text
각각의
이는 문제가 다음을 추가하는 데 사용된 방법 때문일 수 있음을 나타내는 것으로 보입니다.AlternativeText
에게Chart
추가할 방법을 찾을 수 없습니다.AlternativeText
아주Chart
일단 그것이 로 옮겨지면.Sheet
그래서AlternativeText
이동하기 전에 추가해야 합니다.Chart
아주Sheet
그 때Chart
여전히 객체입니다(Shape
)를 워크시트에 표시합니다.
이 방법을 사용하여 다음을 추가합니다.AlternativeText
각자에게Chart
시트로 이동하기 전에.
Private Sub Charts_Add_AlternativeText()
Const kAltTxt As String = "This is a test of the Alt Text in graph [#Name]" 'Update as required
Dim ws As Worksheet
Dim co As ChartObject
Set ws = ThisWorkbook.Worksheets("DATA") 'Update as required
For Each co In ws.ChartObjects
co.ShapeRange.AlternativeText = Replace(kAltTxt, "#Name", co.Name) 'Update as required
Next
End Sub
또는 이 방법을 사용하여 다음을 추가합니다.AlternativeText
각자에게Chart
시트지
Private Sub Charts_Add_AlternativeText()
Const kWsName As String = "!Temp"
Const kAltTxt As String = "This is a test of the Alt Text in graph [#Name]" 'Update as required
Dim wb As Workbook, ws As Worksheet
Dim oSht As Object, sp As Shape
Dim sChName As String, bIdx As Byte
With Application
.EnableEvents = False
.DisplayAlerts = False
.ScreenUpdating = False
.Application.Calculation = xlCalculationManual
End With
Set wb = ThisWorkbook
With wb
Rem Add Temp Worksheet
On Error Resume Next
.Worksheets(kWsName).Delete
On Error GoTo 0
Set ws = .Worksheets.Add(After:=.Sheets(.Sheets.Count))
ws.Name = kWsName
Rem Work with Chart Sheets
For Each oSht In .Sheets
With oSht
If oSht.Type <> xlWorksheet Then
Rem Move Chart to Temp Worksheet
bIdx = .Index
sChName = .Name
.Location Where:=xlLocationAsObject, Name:=kWsName
Set sp = ws.Shapes(1)
With sp
Rem Add AlternativeText to Shape (Chart)
.AlternativeText = Replace(kAltTxt, "#Name", sChName) 'Update as required
Rem Move Chart to Chart Sheet
.Chart.Location Where:=xlLocationAsNewSheet, Name:=sChName
wb.Sheets(sChName).Move Before:=wb.Sheets(bIdx)
End With: End If: End With: Next: End With
With Application
.EnableEvents = True
.DisplayAlerts = True
.ScreenUpdating = True
.Application.Calculation = xlCalculationAutomatic
End With
End Sub
언급URL : https://stackoverflow.com/questions/57565138/how-to-export-a-graph-with-alternative-text-in-excel-to-pdf-using-python-or-r
'programing' 카테고리의 다른 글
Yarn의 로컬 경로로 패키지를 설치하는 방법은 무엇입니까?패키지를 찾을 수 없습니다. (0) | 2023.08.18 |
---|---|
스위프트를 사용하여 iOS 10에서 전화를 거는 방법은 무엇입니까? (0) | 2023.08.18 |
열 사이의 간격을 어떻게 추가합니까? (0) | 2023.08.18 |
스피너의 가치를 얻는 방법은? (0) | 2023.08.18 |
버튼 더블 클릭을 방지하는 Android (0) | 2023.08.18 |