1

次のコードでわかるように、私はVBscriptingforExcelを初めて使用します。HTMLファイル( "DEMO8.HTM")をExcelにインポートし、列Fのデータに基づいてグラフを作成しようとしています。グラフは、作成されたシートにオブジェクトとして表示されます。'Chart.Add'構文を機能させるのに問題があります。私がそれを変えるときはいつでも、何か他のものがうまくいかない。とにかく、ここにコードがあります:

Dim chtChart

Set objExcel = CreateObject("Excel.Application")
Set objWorkbook = objExcel.Workbooks.Open("C:\DEMO8.HTM")
objExcel.Visible = TRUE

Set chtChart = Charts.Add
With chtChart
    chtChart.ChartType = xlColumnClustered
    chtChart.SetSourceData.Range("'DEMO8'!$F:$F")
    chtChart.Location.xlLocationAsObject

    ActiveChart.SetSourceData Source:=Range("'DEMO8'!$F:$F")
    ActiveChart.Legend.Select
    Selection.Delete
    ActiveChart.ChartArea.Select
    ActiveChart.Axes(xlCategory).Select
    Selection.Delete
    ActiveChart.ChartArea.Select
    ActiveChart.Axes(xlValue).Select
    ActiveChart.Axes(xlValue).MaximumScale = 300
    ActiveChart.Axes(xlValue).MinimumScale = 0
End With

' Give the user control of Excel
UserControl = true

私は基本的に、これをさまざまなコードから「フランケンシュタイン化」しました。HTMLファイルを開いているようですが、グラフは作成されません。どんな助けでも大歓迎です。

4

2 に答える 2

2

あなたが望むものにあなたを近づけるかもしれません。

Dim chtChart, objWorkbook, objExcel

const xlValue = 2
const xlColumnClustered = 51
const xlCategory = 1

Set objExcel = CreateObject("Excel.Application")
Set objWorkbook = objExcel.Workbooks.Open("C:\temp\DEMO8.html")
objExcel.Visible = True

Set chtChart = objWorkbook.Charts.Add

chtChart.ChartType = xlColumnClustered
chtChart.SetSourceData objExcel.Sheets("DEMO8").Range("F:F")

objWorkbook.ActiveChart.Legend.Select
objExcel.Selection.Delete
objWorkbook.ActiveChart.ChartArea.Select
objWorkbook.ActiveChart.Axes(xlCategory).Select
objExcel.Selection.Delete
objWorkbook.ActiveChart.ChartArea.Select
objWorkbook.ActiveChart.Axes(xlValue).Select
objWorkbook.ActiveChart.Axes(xlValue).MaximumScale = 300
objWorkbook.ActiveChart.Axes(xlValue).MinimumScale = 0
于 2011-04-22T15:39:36.427 に答える
0

次のコードは、Excelシートをhtmlに変換します。

Dim oExcel
Dim objExcelWB
Dim objExcelWS, WScript
Dim strColumnCount, strTotRows, strData, strTable

Dim i, j, objFSO, objtxt
Dim strWbk
strWbk = "<excel sheet path>"
Dim strWsheetName
strWsheetName = "<workbook name>"
Dim strHTMLFile
strHTMLFile = "<html path>"
Set oExcel = CreateObject("Excel.Application")
oExcel.Visible = False

Set objExcelWB = oExcel.Workbooks.Open(strWbk)

Set objExcelWS = objExcelWB.Worksheets(strWsheetName)
'Getting the rows and column count
 strColumnCount = objExcelWS.UsedRange.Columns.Count
 strTotRows = objExcelWS.UsedRange.Rows.Count

strTable = "<table border=""""1"""">"
'Create html table based on content of the excel file
 For j = 1 To strTotRows
  strTable = strTable & "<tr>"
  For i = 1 To strColumnCount
    strData = Trim(objExcelWS.Cells(j, i))
    strTable = strTable & "<td>" & strData & "</td>"
  Next
  strTable = strTable & "</tr>"
 Next
 strTable = strTable & "</table>"
 Set objFSO = CreateObject("scripting.FileSystemObject")
 Set objtxt = objFSO.createTextFile(strHTMLFile)
    objtxt.write (strTable)
'Closing the workbook
 objExcelWB.Close
oExcel.Quit
 Set objFSO = Nothing
Set objExcelWB = Nothing
Set oExcel = Nothing
于 2018-02-22T08:25:26.640 に答える