Moin,
Vorab, ich bin etwas raus aus dem Thema VBA und versuche gerade wieder meine Kenntnisse aufzufrischen, deshalb bitte ich um Rücksicht auf eventuelle Fragen die für den ein oder anderen selbstverständlich sind. Nun aber zu meinem Problem:
Ich bin gerade dabei ein kleines tool zu schreiben welches von verschiedenen Solarfeldern täglich Daten erfasst und statistisch auswertet. Das Verarbeiten der Daten usw. ist kein größeres Problem, nur beim automatisierten abgreifen hakt es gerade. Und zwar ist es so, das die verschiedenen Solarfelder unterschiedliche Software haben und für jede Variante ein eigener Code benötigt wird, welcher sich auf die website des Feldes einloggt, ein zwei Sachen macht und dann die Seite speichert. Einloggen, Seite Speichern bekomme ich hin, ich verzweifel allerdings daran ein javascript ausführen zu lassen damit eine bestimme Seite angezeit wird, welche dann eben gespeichert wird.
Der Quellcode der Seite sieht das so aus:
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html>
<head>
<title>Saalhaupt2 - Webinterface</title>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8"/>
<meta name="robots" content="noindex, nofollow">
<link rel="shortcut icon" type="image/x-icon" href="images/favicon.ico"/>
<link rel="stylesheet" type="text/css" href="js/extjs/resources/css/ext-all-gray.css"/>
<link rel="stylesheet" type="text/css" href="css/pvc-ext.css"/>
<link rel="stylesheet" type="text/css" href="css/pvc.css"/>
<link rel="stylesheet" type="text/css" href="css/extensible-all.css"/>
<link rel="stylesheet" type="text/css" href="js/upload/css/upload.css"/>
<script type="text/javascript" src="js/extjs/ext-all.js"></script>
<script type="text/javascript" src="js/extjs/jquery.min.js"></script>
<script type="text/javascript" src="js/highcharts/highcharts.js"></script>
<script type="text/javascript" src="js/highcharts/highcharts-more.js"></script>
<script type="text/javascript" src="js/highcharts/themes/grid.js"></script>
<script type="text/javascript" src="js/highcharts/modules/exporting.js"></script>
<script type="text/javascript" src="js/highcharts/plugins/export-csv.js"></script>
<script type="text/javascript" src="gui/i18n.js"></script>
<script type="text/javascript" src="gui/i18nDict.js"></script>
<script type="text/javascript" src="gui/ext-overrides.js"></script>
<script type="text/javascript" src="js/extensible/extensible-all.js"></script>
<script type="text/javascript" src="gui/pvc_portal/DiagPanel.js"></script>
<script type="text/javascript" src="gui/pvc_portal/NavigationPanel.js"></script>
<script type="text/javascript" src="gui/pvc_portal/module/investorplus/OverviewInverter.js"></script>
<script type="text/javascript" src="gui/pvc_portal/module/investorplus/Inverter_yield.js"></script>
<script type="text/javascript" src="gui/pvc_portal/module/investorplus/confLogBook.js"></script>
<script type="text/javascript" src="gui/pvc_portal/module/investorplus/Inverter_plan-is.js"></script>
<script type="text/javascript" src="gui/pvc_portal/module/investorplus/OverviewTotal.js"></script>
<script type="text/javascript" src="gui/pvc_portal/LanguageBox.js"></script>
<script type="text/javascript" src="gui/pvc_portal/Viewport.js"></script>
</head>
<body>
<script type="text/javascript">
PVC.UUID = '10';
PVC.HTTPREQUEST_TIMEOUT = 18;
PVC.confirmPageUnload = false;
PVC.PRODUCT_NAME = 'CClog';
PVC.PRODUCT_URL = 'http://www.pvconcept.de';
PVC.PLANT_NAME = 'Saalhaupt2';
PVC.PLANT_ID = 0;
PVC.PLANT_LOCATION = 'Saalhaupt';
PVC.PLANT_INSTALLED_PEAK = 842.4;
PVC.PLANT_INVERTER_PEAK = 1650;
PVC.PLANT_STATION = 1;
PVC.GUI_MODE = 'pvc_portal';
PVC.USERNAME = 'investor';
PVC.ROLE = 'investorplus';
Ext.Loader.setConfig({
enabled : true,
disableCaching : false,
paths : {
'Chart' : 'js/extjs/highcharts',
'Extensible': "js/extensible",
'Extensible.example': 'js/extensible/examples',
'Ext.ux.upload' : '/js/upload'
}
});
Ext.require('Chart.ux.Highcharts');
Ext.require('Chart.ux.Highmaps');
Ext.require('Chart.ux.Highcharts.AreaRangeSerie');
Ext.require('Chart.ux.Highcharts.AreaSerie');
Ext.require('Chart.ux.Highcharts.AreaSplineRangeSerie');
Ext.require('Chart.ux.Highcharts.AreaSplineSerie');
Ext.require('Chart.ux.Highcharts.BarSerie');
Ext.require('Chart.ux.Highcharts.BoxPlotSerie');
Ext.require('Chart.ux.Highcharts.BubbleSerie');
Ext.require('Chart.ux.Highcharts.ColumnRangeSerie');
Ext.require('Chart.ux.Highcharts.ColumnSerie');
Ext.require('Chart.ux.Highcharts.ErrorBarSerie');
Ext.require('Chart.ux.Highcharts.FunnelSerie');
Ext.require('Chart.ux.Highcharts.GaugeSerie');
Ext.require('Chart.ux.Highcharts.HeatmapSerie');
Ext.require('Chart.ux.Highcharts.LineSerie');
Ext.require('Chart.ux.Highcharts.MapBubbleSerie');
Ext.require('Chart.ux.Highcharts.MapLineSerie');
Ext.require('Chart.ux.Highcharts.MapPointSerie');
Ext.require('Chart.ux.Highcharts.MapSerie');
Ext.require('Chart.ux.Highcharts.PieSerie');
Ext.require('Chart.ux.Highcharts.PyramidSerie');
Ext.require('Chart.ux.Highcharts.RangeSerie');
Ext.require('Chart.ux.Highcharts.ScatterSerie');
Ext.require('Chart.ux.Highcharts.Serie');
Ext.require('Chart.ux.Highcharts.SplineSerie');
Ext.require('Chart.ux.Highcharts.WaterfallSerie');
Ext.require('Extensible.calendar.data.MemoryEventStore');
Ext.require('Extensible.calendar.CalendarPanel');
Ext.require('Extensible.example.calendar.data.Events');
PVC.confirmPageUnload = false;
window.onbeforeunload = function() {
if (PVC.confirmPageUnload === true) {
return _("Do you really want to leave the page?");
}
};
Ext.apply(PVC.SessionMgr, {username: "investor"});
Ext.onReady(function() {
Ext.QuickTips.init();
var viewPort = new PVC.Viewport();
});
</script>
</body>
</html>
Für mich ist die fett markierte Zeile von Relevanz, OverviewInverter.js
Mein Code dazu sieht so aus:
Sub log_in()
Dim IEApp As Object, oLogin As Object, SiteDoc As HTMLDocument, item26
Set IEApp = CreateObject("InternetExplorer.Application")
IEApp.Visible = True
IEApp.navigate "http://www.pvview.de/saalhaupt2/"
Do: DoEvents: Loop Until IEApp.Busy = False
Do: DoEvents: Loop Until IEApp.Busy = False
Do: DoEvents: Loop Until IEApp.document.ReadyState = "complete"
Set SiteDoc = IEApp.document
SendKeys "USERNAME", True
Application.Wait (Now + TimeValue("0:00:2"))
SendKeys "{TAB}", True
SendKeys "PASSWORD", True
SendKeys "{TAB}", True
SendKeys "{TAB}", True
Application.Wait (Now + TimeValue("0:00:2"))
SendKeys "{Enter}", True
SiteDoc.all.Item(26).Click
Item(26) ist ein HTMLScriptElement und hat als ie8_scr "http://www.pvview.de/saalhaupt2/gui/pvc_portal/module/investorplus/OverviewInverter.js"
Leider passiert halt nichts.
Hat jemand mit ein wenig mehr Erfahrung eine Idee?
Ich bedanke mich schon mal fürs lesen und die dafür aufgewendete Zeit,
Viele Grüße,
Chris
|